mirror of
https://github.com/daniel-j/fimfic2epub.git
synced 2024-09-30 09:06:14 +13:00
54 lines
1.1 KiB
JavaScript
Executable file
54 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)
|
|
})
|