🔧 More refactoring
This commit is contained in:
@@ -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,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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,
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user