From 112e28360d1a4d81049148146a56a85575a56ffd Mon Sep 17 00:00:00 2001 From: Rishi Ghan Date: Mon, 19 Apr 2021 14:32:47 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A7=20More=20refactoring?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../route/routes/importComics.routes.ts | 4 +- src/server/utils/fs.utils.ts | 62 +++++++++---------- 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/src/server/route/routes/importComics.routes.ts b/src/server/route/routes/importComics.routes.ts index adbc78f..ea45483 100644 --- a/src/server/route/routes/importComics.routes.ts +++ b/src/server/route/routes/importComics.routes.ts @@ -11,9 +11,9 @@ import { Request, Response } from "express"; router.route("/getComicCovers").get(async (req: Request, res: Response) => { const foo = await extractArchive({ - name: "Old Man Logan 01.cbr", + name: "Dante's Inferno 02 (2010) (noads) (Legion-CPS).cbr", extension: ".cbr", - containedIn: "comics/Old Man Logan", + containedIn: "comics/Dante's Inferno", isFile: true, isLink: false, }); diff --git a/src/server/utils/fs.utils.ts b/src/server/utils/fs.utils.ts index 43011a0..e8b751f 100644 --- a/src/server/utils/fs.utils.ts +++ b/src/server/utils/fs.utils.ts @@ -28,17 +28,15 @@ export const unrar = async ( extractionOptions.folderDetails.name, ), ).buffer; - + const extractor = await unrarer.createExtractorFromData({ data: buf }); switch (extractionOptions.extractTarget) { // extract the first file only case "cover": - const extractor = await unrarer.createExtractorFromData({ data: buf }); const list = extractor.getFileList(); const fileHeaders = [...list.fileHeaders]; - const file = [...fileHeaders]; - console.log(file); + const file = extractor.extract({ files: [fileHeaders[0].name] }); - const extractedFile = file[0]; + const extractedFile = [...file.files][0]; const fileArrayBuffer = extractedFile.extraction; logger.info(`Attempting to write ${extractedFile.fileHeader.name}`); @@ -65,34 +63,34 @@ export const unrar = async ( ); }); case "all": - const extractedFileHeaders = extractor.extract({}); - const files = [...extractedFileHeaders.files]; - const extractedFiles = files[0]; - const filesBuffer = extractedFile.extraction; + const files = extractor.extract({}); - logger.info(`Attempting to write ${extractedFiles.fileHeader.name}`); + const extractedFiles = [...files.files]; + console.log(extractedFiles); - return new Promise((resolve, reject) => { - fs.writeFile( - comicCoversTargetPath + extractedFiles.fileHeader.name, - filesBuffer, - (err) => { - if (err) { - logger.error("Failed to write file", err); - reject(err); - } else { - logger.info( - `The file ${extractedFile.fileHeader.name} was saved to disk.`, - ); - resolve({ - name: `${extractedFile.fileHeader.name}`, - path: comicCoversTargetPath, - fileSize: extractedFile.fileHeader.packSize, - }); - } - }, - ); - }); + // logger.info(`Attempting to write ${extractedFiles.fileHeader.name}`); + + // return new Promise((resolve, reject) => { + // fs.writeFile( + // comicCoversTargetPath + extractedFiles.fileHeader.name, + // filesBuffer, + // (err) => { + // if (err) { + // logger.error("Failed to write file", err); + // reject(err); + // } else { + // logger.info( + // `The file ${extractedFile.fileHeader.name} was saved to disk.`, + // ); + // resolve({ + // name: `${extractedFile.fileHeader.name}`, + // path: comicCoversTargetPath, + // fileSize: extractedFile.fileHeader.packSize, + // }); + // } + // }, + // ); + // }); default: return { message: "File format not supported, yet.", @@ -169,7 +167,7 @@ export const extractArchive = async ( const targetComicCoversFolder = "covers"; const extractionOptions: IExtractionOptions = { folderDetails: fileObject, - extractTarget: "cover", + extractTarget: "all", sourceFolder, targetComicCoversFolder, };