fix format

This commit is contained in:
CGsama 2023-07-16 01:47:06 -04:00
parent 809d418018
commit 0c9ab9fdfa
1 changed files with 28 additions and 21 deletions

View File

@ -4,7 +4,7 @@ import { createTemp, createTempDir } from "./create-temp.js";
import { downloadUrl } from "./download-url.js";
import { addFile } from "@/services/drive/add-file.js";
import { Users } from "@/models/index.js";
import * as tar from 'tar-stream';
import * as tar from "tar-stream";
import gunzip from "gunzip-maybe";
const logger = new Logger("process-masto-notes");
@ -33,7 +33,7 @@ export async function processMastoNotes(
function processMastoFile(fn: string, dir: string, uid: string) {
return new Promise(async (resolve, reject) => {
const user = await Users.findOneBy({ id: uid });
try{
try {
logger.info(`Start unzip ${fn}`);
await unzipTarGz(fn, dir);
logger.info(`Unzip to ${dir}`);
@ -51,51 +51,58 @@ function processMastoFile(fn: string, dir: string, uid: string) {
}
}
resolve(outbox);
}catch(e){
} catch (e) {
logger.error(`Error on extract masto note package: ${fn}`);
reject(e);
}
});
}
function createFileDir(fn: string){
if(!fs.existsSync(fn)){
fs.mkdirSync(fn, {recursive: true});
function createFileDir(fn: string) {
if (!fs.existsSync(fn)) {
fs.mkdirSync(fn, { recursive: true });
fs.rmdirSync(fn);
}
}
function unzipTarGz(fn: string, dir: string){
function unzipTarGz(fn: string, dir: string) {
return new Promise(async (resolve, reject) => {
const onErr = (err: any) => {
logger.error(`pipe broken: ${err}`);
reject();
}
try{
const extract = tar.extract().on('error', onErr);
};
try {
const extract = tar.extract().on("error", onErr);
dir = dir.endsWith("/") ? dir : dir + "/";
const ls: string[] = [];
extract.on('entry', function (header: any, stream: any, next: any) {
try{
extract.on("entry", function (header: any, stream: any, next: any) {
try {
ls.push(dir + header.name);
createFileDir(dir + header.name);
stream.on('error', onErr).pipe(fs.createWriteStream(dir + header.name)).on('error', onErr);
stream
.on("error", onErr)
.pipe(fs.createWriteStream(dir + header.name))
.on("error", onErr);
next();
}catch(e){
} catch (e) {
logger.error(`create dir error:${e}`);
reject();
}
});
extract.on('finish', function () {
resolve(ls);
extract.on("finish", function () {
resolve(ls);
});
fs.createReadStream(fn).on('error', onErr).pipe(gunzip()).on('error', onErr).pipe(extract).on('error', onErr);
}catch(e){
fs.createReadStream(fn)
.on("error", onErr)
.pipe(gunzip())
.on("error", onErr)
.pipe(extract)
.on("error", onErr);
} catch (e) {
logger.error(`unzipTarGz error: ${e}`);
reject();
}
});
}
}