Наладил сжатие файлов книг в /tmp

This commit is contained in:
Book Pauk
2019-01-21 18:09:50 +07:00
parent 2fd737a2a7
commit 8c85b7be37
6 changed files with 53 additions and 6 deletions

View File

@@ -1,4 +1,5 @@
const fs = require('fs-extra');
const path = require('path');
const workerState = require('./workerState');
const FileDownloader = require('./FileDownloader');
@@ -25,6 +26,7 @@ class ReaderWorker {
let errMes = '';
let decompDir = '';
let downloadedFilename = '';
let convertFilename = '';
try {
wState.set({state: 'download', step: 1, totalSteps: 3, url});
@@ -49,14 +51,19 @@ class ReaderWorker {
//parse book
wState.set({state: 'convert', step: 3, progress: 0});
let resultFilename = `${this.config.tempPublicDir}/${tempFilename2}`;
await this.bookConverter.convertToFb2(decompFilename, resultFilename, url, progress => {
convertFilename = `${this.config.tempDownloadDir}/${tempFilename2}`;
await this.bookConverter.convertToFb2(decompFilename, convertFilename, url, progress => {
wState.set({progress});
});
//compress file to tmp dir, if not exists with the same hashname
const compFilename = await this.decomp.gzipFileIfNotExists(convertFilename, `${this.config.tempPublicDir}`);
wState.set({progress: 100});
//finish
wState.finish({path: `/tmp/${tempFilename2}`});
const finishFilename = path.basename(compFilename);
wState.finish({path: `/tmp/${finishFilename}`});
} catch (e) {
wState.set({state: 'error', error: (errMes ? errMes : e.message)});
@@ -67,6 +74,8 @@ class ReaderWorker {
await fs.remove(decompDir);
if (downloadedFilename)
await fs.remove(downloadedFilename);
if (convertFilename)
await fs.remove(convertFilename);
}
}