Рефакторинг, плюс небольшие изменения - подготовка к использованию внешних конвертеров

This commit is contained in:
Book Pauk
2019-02-27 19:30:04 +07:00
parent 61cfee222f
commit d3ff0edbff
6 changed files with 38 additions and 22 deletions

View File

@@ -17,8 +17,16 @@ class FileDecompressor {
async decompressFile(filename, outputDir) {
const fileType = await this.detector.detectFile(filename);
if (!fileType || !(fileType.ext == 'zip' || fileType.ext == 'bz2' || fileType.ext == 'gz'))
return filename;
let result = {
sourceFile: filename,
selectedFile: filename,
fileType: fileType,
fileList: []
};
if (!fileType || !(fileType.ext == 'zip' || fileType.ext == 'bz2' || fileType.ext == 'gz')) {
return result;
}
//дурной decompress, поэтому в 2 этапа
//этап 1
@@ -44,20 +52,26 @@ class FileDecompressor {
}
}
let result = filename;
let sel = filename;
let fileList = [];
let max = 0;
if (files.length) {
//ищем файл с максимальным размером
for (let file of files) {
const path = `${outputDir}/${file.path}`;
fileList.push(path);
if (file.data.length > max) {
result = `${outputDir}/${file.path}`;
sel = path;
max = file.data.length;
}
}
}
//дурной decompress
if (result != filename)
await fs.chmod(result, 0o664);
if (sel != filename)
await fs.chmod(sel, 0o664);
result.selectedFile = sel;
result.fileList = fileList;
return result;
}