🔧 More refactoring

This commit is contained in:
2021-04-19 14:32:47 -07:00
parent 36468b0532
commit 112e28360d
2 changed files with 32 additions and 34 deletions

View File

@@ -11,9 +11,9 @@ import { Request, Response } from "express";
router.route("/getComicCovers").get(async (req: Request, res: Response) => { router.route("/getComicCovers").get(async (req: Request, res: Response) => {
const foo = await extractArchive({ const foo = await extractArchive({
name: "Old Man Logan 01.cbr", name: "Dante's Inferno 02 (2010) (noads) (Legion-CPS).cbr",
extension: ".cbr", extension: ".cbr",
containedIn: "comics/Old Man Logan", containedIn: "comics/Dante's Inferno",
isFile: true, isFile: true,
isLink: false, isLink: false,
}); });

View File

@@ -28,17 +28,15 @@ export const unrar = async (
extractionOptions.folderDetails.name, extractionOptions.folderDetails.name,
), ),
).buffer; ).buffer;
const extractor = await unrarer.createExtractorFromData({ data: buf });
switch (extractionOptions.extractTarget) { switch (extractionOptions.extractTarget) {
// extract the first file only // extract the first file only
case "cover": case "cover":
const extractor = await unrarer.createExtractorFromData({ data: buf });
const list = extractor.getFileList(); const list = extractor.getFileList();
const fileHeaders = [...list.fileHeaders]; const fileHeaders = [...list.fileHeaders];
const file = [...fileHeaders]; const file = extractor.extract({ files: [fileHeaders[0].name] });
console.log(file);
const extractedFile = file[0]; const extractedFile = [...file.files][0];
const fileArrayBuffer = extractedFile.extraction; const fileArrayBuffer = extractedFile.extraction;
logger.info(`Attempting to write ${extractedFile.fileHeader.name}`); logger.info(`Attempting to write ${extractedFile.fileHeader.name}`);
@@ -65,34 +63,34 @@ export const unrar = async (
); );
}); });
case "all": case "all":
const extractedFileHeaders = extractor.extract({}); const files = extractor.extract({});
const files = [...extractedFileHeaders.files];
const extractedFiles = files[0];
const filesBuffer = extractedFile.extraction;
logger.info(`Attempting to write ${extractedFiles.fileHeader.name}`); const extractedFiles = [...files.files];
console.log(extractedFiles);
return new Promise((resolve, reject) => { // logger.info(`Attempting to write ${extractedFiles.fileHeader.name}`);
fs.writeFile(
comicCoversTargetPath + extractedFiles.fileHeader.name, // return new Promise((resolve, reject) => {
filesBuffer, // fs.writeFile(
(err) => { // comicCoversTargetPath + extractedFiles.fileHeader.name,
if (err) { // filesBuffer,
logger.error("Failed to write file", err); // (err) => {
reject(err); // if (err) {
} else { // logger.error("Failed to write file", err);
logger.info( // reject(err);
`The file ${extractedFile.fileHeader.name} was saved to disk.`, // } else {
); // logger.info(
resolve({ // `The file ${extractedFile.fileHeader.name} was saved to disk.`,
name: `${extractedFile.fileHeader.name}`, // );
path: comicCoversTargetPath, // resolve({
fileSize: extractedFile.fileHeader.packSize, // name: `${extractedFile.fileHeader.name}`,
}); // path: comicCoversTargetPath,
} // fileSize: extractedFile.fileHeader.packSize,
}, // });
); // }
}); // },
// );
// });
default: default:
return { return {
message: "File format not supported, yet.", message: "File format not supported, yet.",
@@ -169,7 +167,7 @@ export const extractArchive = async (
const targetComicCoversFolder = "covers"; const targetComicCoversFolder = "covers";
const extractionOptions: IExtractionOptions = { const extractionOptions: IExtractionOptions = {
folderDetails: fileObject, folderDetails: fileObject,
extractTarget: "cover", extractTarget: "all",
sourceFolder, sourceFolder,
targetComicCoversFolder, targetComicCoversFolder,
}; };