🔧 Refactoring
This commit is contained in:
@@ -4,7 +4,7 @@ const unrarer = require("node-unrar-js");
|
|||||||
const Walk = require("@root/walk");
|
const Walk = require("@root/walk");
|
||||||
const mkdirp = require("mkdirp");
|
const mkdirp = require("mkdirp");
|
||||||
const fse = require("fs-extra");
|
const fse = require("fs-extra");
|
||||||
import fs from "fs";
|
const fs = require("fs").promises;
|
||||||
import path from "path";
|
import path from "path";
|
||||||
import _ from "lodash";
|
import _ from "lodash";
|
||||||
import { logger } from "./logger.utils";
|
import { logger } from "./logger.utils";
|
||||||
@@ -27,7 +27,7 @@ export const unrar = async (
|
|||||||
extractionOptions.sourceFolder + extractionOptions.targetComicCoversFolder;
|
extractionOptions.sourceFolder + extractionOptions.targetComicCoversFolder;
|
||||||
|
|
||||||
const buf = Uint8Array.from(
|
const buf = Uint8Array.from(
|
||||||
fs.readFileSync(
|
fs.readFile(
|
||||||
extractionOptions.folderDetails.containedIn +
|
extractionOptions.folderDetails.containedIn +
|
||||||
"/" +
|
"/" +
|
||||||
extractionOptions.folderDetails.name,
|
extractionOptions.folderDetails.name,
|
||||||
@@ -68,43 +68,36 @@ export const unrar = async (
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
case "all":
|
case "all":
|
||||||
const comicBookCoverFiles: IExtractedComicBookCoverFile[] = [];
|
|
||||||
const files = extractor.extract({});
|
const files = extractor.extract({});
|
||||||
const extractedFiles = [...files.files];
|
const extractedFiles = [...files.files];
|
||||||
|
const options = {
|
||||||
|
mode: 0o2775,
|
||||||
|
};
|
||||||
|
|
||||||
return new Promise(async (resolve, reject) => {
|
return new Promise(async (resolve, reject) => {
|
||||||
|
const comicBookCoverFiles: IExtractedComicBookCoverFile[] = [];
|
||||||
for (const file of extractedFiles) {
|
for (const file of extractedFiles) {
|
||||||
logger.info(`Attempting to write ${file.fileHeader.name}`);
|
logger.info(`Attempting to write ${file.fileHeader.name}`);
|
||||||
const fileBuffer = file.extraction;
|
const fileBuffer = file.extraction;
|
||||||
const pathFragments = explodePath(file.fileHeader.name);
|
const pathFragments = explodePath(file.fileHeader.name);
|
||||||
const targetPath =
|
const targetPath =
|
||||||
comicCoversTargetPath + "/" + pathFragments.exploded.join("/");
|
comicCoversTargetPath + "/" + pathFragments.exploded.join("/");
|
||||||
fse.ensureDir(targetPath, (err) => {
|
try {
|
||||||
if (err) {
|
await fse.ensureDir(targetPath, options);
|
||||||
console.log(err);
|
console.log("success!");
|
||||||
} else {
|
try {
|
||||||
fs.writeFile(
|
await fs.writeFile(file.fileHeader.name, fileBuffer); // need to be in an async function
|
||||||
targetPath + "/" + pathFragments.fileName,
|
comicBookCoverFiles.push({
|
||||||
fileBuffer,
|
name: `${file.fileHeader.name}`,
|
||||||
(err) => {
|
path: targetPath,
|
||||||
if (err) {
|
fileSize: file.fileHeader.packSize,
|
||||||
logger.error(err);
|
});
|
||||||
reject(err);
|
} catch (error) {
|
||||||
} else {
|
console.log(error);
|
||||||
logger.info(
|
|
||||||
`The file ${file.fileHeader.name} was saved to disk.`,
|
|
||||||
);
|
|
||||||
const comicBookCoverObject = {
|
|
||||||
name: `${file.fileHeader.name}`,
|
|
||||||
path: targetPath,
|
|
||||||
fileSize: file.fileHeader.packSize,
|
|
||||||
};
|
|
||||||
comicBookCoverFiles.push(comicBookCoverObject);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
});
|
} catch (err) {
|
||||||
|
console.error(err);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
resolve(comicBookCoverFiles);
|
resolve(comicBookCoverFiles);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user