diff options
Diffstat (limited to 'lib/cli/buildEbook.js')
-rw-r--r-- | lib/cli/buildEbook.js | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/lib/cli/buildEbook.js b/lib/cli/buildEbook.js deleted file mode 100644 index a87fac7..0000000 --- a/lib/cli/buildEbook.js +++ /dev/null @@ -1,78 +0,0 @@ -var path = require('path'); -var tmp = require('tmp'); - -var Promise = require('../utils/promise'); -var fs = require('../utils/fs'); -var Parse = require('../parse'); -var Output = require('../output'); - -var options = require('./options'); -var getBook = require('./getBook'); - - -module.exports = function(format) { - return { - name: (format + ' [book] [output]'), - description: 'build a book into an ebook file', - options: [ - options.log - ], - exec: function(args, kwargs) { - var extension = '.' + format; - - // Output file will be stored in - var outputFile = args[1] || ('book' + extension); - - // Create temporary directory - var outputFolder = tmp.dirSync().name; - - var book = getBook(args, kwargs); - var logger = book.getLogger(); - var Generator = Output.getGenerator('ebook'); - - return Parse.parseBook(book) - .then(function(resultBook) { - return Output.generate(Generator, resultBook, { - root: outputFolder, - format: format - }); - }) - - // Extract ebook file - .then(function(output) { - var book = output.getBook(); - var languages = book.getLanguages(); - - if (book.isMultilingual()) { - return Promise.forEach(languages.getList(), function(lang) { - var langID = lang.getID(); - - var langOutputFile = path.join( - path.dirname(outputFile), - path.basename(outputFile, extension) + '_' + langID + extension - ); - - return fs.copy( - path.resolve(outputFolder, langID, 'index' + extension), - langOutputFile - ); - }) - .thenResolve(languages.getCount()); - } else { - return fs.copy( - path.resolve(outputFolder, 'index' + extension), - outputFile - ).thenResolve(1); - } - }) - - // Log end - .then(function(count) { - logger.info.ok(count + ' file(s) generated'); - - logger.debug('cleaning up... '); - return logger.debug.promise(fs.rmDir(outputFolder)); - }); - } - }; -}; |