Добавил распаковку вложенных архивов
This commit is contained in:
@@ -23,8 +23,15 @@ class BookConverter {
|
||||
|
||||
async convertToFb2(inputFiles, outputFile, url, callback) {
|
||||
const selectedFileType = await this.detector.detectFile(inputFiles.selectedFile);
|
||||
|
||||
const data = await fs.readFile(inputFiles.selectedFile);
|
||||
|
||||
let selectedFileType2 = null;
|
||||
let data2 = null;
|
||||
if (inputFiles.nesting) {
|
||||
selectedFileType2 = await this.detector.detectFile(inputFiles.nesting.selectedFile);
|
||||
data2 = await fs.readFile(inputFiles.nesting.selectedFile);
|
||||
}
|
||||
|
||||
let result = false;
|
||||
for (const convert of this.convertFactory) {
|
||||
result = await convert.run(data, {inputFiles, url, callback, dataType: selectedFileType});
|
||||
@@ -32,6 +39,14 @@ class BookConverter {
|
||||
await fs.writeFile(outputFile, result);
|
||||
break;
|
||||
}
|
||||
|
||||
if (inputFiles.nesting) {
|
||||
result = await convert.run(data2, {inputFiles: inputFiles.nesting, url, callback, dataType: selectedFileType2});
|
||||
if (result) {
|
||||
await fs.writeFile(outputFile, result);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!result) {
|
||||
|
||||
@@ -73,6 +73,10 @@ class FileDecompressor {
|
||||
result.selectedFile = sel;
|
||||
result.fileList = fileList;
|
||||
|
||||
if (sel != filename) {
|
||||
result.nesting = await this.decompressFile(sel, `${outputDir}/${utils.randomHexString(10)}`);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user