fimfic2epub/bin/fimfic2epub
2018-03-12 22:05:01 +01:00

55 lines
1.1 KiB
JavaScript
Executable file

#!/usr/bin/env node
// use a mock DOM so we can run mithril on the server
require('mithril/test-utils/browserMock')(global)
const FimFic2Epub = require('../dist/fimfic2epub')
const fs = require('fs')
const STORY_ID = process.argv[2]
const ffc = new FimFic2Epub(STORY_ID)
const outputStdout = process.argv[3] === '-' || process.argv[3] === '/dev/stdout'
if (outputStdout) {
console.log = console.error
console.log('Outputting to stdout')
}
ffc.on('progress', (percent, status) => {
/*
if (status) {
console.log('fimfic2epub: ' + status)
}
*/
})
ffc.fetchAll()
.then(ffc.build.bind(ffc))
.then(() => {
let filename = process.argv[3] || ffc.filename
let stream
if (outputStdout) {
stream = process.stdout
} else {
stream = fs.createWriteStream(filename)
}
ffc.streamFile(null)
.pipe(stream)
.on('finish', () => {
if (!outputStdout) {
console.log('Saved story as ' + filename)
}
})
})
.catch((err) => {
if (err && err.stack) {
console.error(err.stack)
} else {
console.error('Error: ' + (err || 'Unknown error'))
}
process.exit(1)
})