Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0fe513d7f5 | ||
|
|
0be05325e4 | ||
|
|
75b39308cd | ||
|
|
35ded81713 | ||
|
|
07c85280cd | ||
|
|
43f1d86be0 |
@@ -34,6 +34,8 @@ class ConvertBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async execConverter(path, args, onData, abort) {
|
async execConverter(path, args, onData, abort) {
|
||||||
|
onData = (onData ? onData : () => {});
|
||||||
|
|
||||||
let q = null;
|
let q = null;
|
||||||
try {
|
try {
|
||||||
q = await queue.get(() => {onData();});
|
q = await queue.get(() => {onData();});
|
||||||
@@ -42,7 +44,15 @@ class ConvertBase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const result = await utils.spawnProcess(path, {args, onData, abort});
|
const result = await utils.spawnProcess(path, {
|
||||||
|
killAfter: 600,
|
||||||
|
args,
|
||||||
|
onData: (data) => {
|
||||||
|
q.resetTimeout();
|
||||||
|
onData(data);
|
||||||
|
},
|
||||||
|
abort
|
||||||
|
});
|
||||||
if (result.code != 0) {
|
if (result.code != 0) {
|
||||||
let error = result.code;
|
let error = result.code;
|
||||||
if (this.config.branch == 'development')
|
if (this.config.branch == 'development')
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ class ConvertDocX extends ConvertBase {
|
|||||||
|
|
||||||
async convert(docxFile, fb2File, callback, abort) {
|
async convert(docxFile, fb2File, callback, abort) {
|
||||||
let perc = 0;
|
let perc = 0;
|
||||||
await this.execConverter(this.calibrePath, [docxFile, fb2File], () => {
|
await this.execConverter(this.calibrePath, [docxFile, fb2File, '-vv'], () => {
|
||||||
perc = (perc < 100 ? perc + 5 : 50);
|
perc = (perc < 100 ? perc + 1 : 50);
|
||||||
callback(perc);
|
callback(perc);
|
||||||
}, abort);
|
}, abort);
|
||||||
|
|
||||||
|
|||||||
@@ -37,8 +37,8 @@ class ConvertEpub extends ConvertBase {
|
|||||||
await fs.copy(inputFiles.sourceFile, epubFile);
|
await fs.copy(inputFiles.sourceFile, epubFile);
|
||||||
|
|
||||||
let perc = 0;
|
let perc = 0;
|
||||||
await this.execConverter(this.calibrePath, [epubFile, fb2File], () => {
|
await this.execConverter(this.calibrePath, [epubFile, fb2File, '-vv'], () => {
|
||||||
perc = (perc < 100 ? perc + 5 : 50);
|
perc = (perc < 100 ? perc + 1 : 50);
|
||||||
callback(perc);
|
callback(perc);
|
||||||
}, abort);
|
}, abort);
|
||||||
|
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ class ConvertMobi extends ConvertBase {
|
|||||||
await fs.copy(inputFiles.sourceFile, mobiFile);
|
await fs.copy(inputFiles.sourceFile, mobiFile);
|
||||||
|
|
||||||
let perc = 0;
|
let perc = 0;
|
||||||
await this.execConverter(this.calibrePath, [mobiFile, fb2File], () => {
|
await this.execConverter(this.calibrePath, [mobiFile, fb2File, '-vv'], () => {
|
||||||
perc = (perc < 100 ? perc + 5 : 50);
|
perc = (perc < 100 ? perc + 1 : 50);
|
||||||
callback(perc);
|
callback(perc);
|
||||||
}, abort);
|
}, abort);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user