X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/fefdce4e24f9e397df5538fe6e7f54b5ece4d841..3a0c83394d5783715fab2be29fa1a9cfc3574e28:/src/librarian/mobi.py?ds=sidebyside diff --git a/src/librarian/mobi.py b/src/librarian/mobi.py deleted file mode 100644 index 6f1f5d6..0000000 --- a/src/librarian/mobi.py +++ /dev/null @@ -1,56 +0,0 @@ -# -*- coding: utf-8 -*- -# -# This file is part of Librarian, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. -# -from __future__ import unicode_literals - -from copy import deepcopy -import os -import subprocess -from tempfile import NamedTemporaryFile - -from librarian import OutputFile - - -def transform(wldoc, verbose=False, sample=None, cover=None, - use_kindlegen=False, flags=None, hyphenate=True, ilustr_path='', - converter_path=None): - """ produces a MOBI file - - wldoc: a WLDocument - sample=n: generate sample e-book (with at least n paragraphs) - cover: a cover.Cover factory overriding default - flags: less-advertising, - converter_path: override path to MOBI converter, - either ebook-convert or kindlegen - """ - - document = deepcopy(wldoc) - del wldoc - - epub = document.as_epub(verbose=verbose, sample=sample, - html_toc=True, cover=cover or True, flags=flags, - hyphenate=hyphenate, ilustr_path=ilustr_path, output_type='mobi') - if verbose: - kwargs = {} - else: - devnull = open("/dev/null", 'w') - kwargs = {"stdout": devnull, "stderr": devnull} - - output_file = NamedTemporaryFile(prefix='librarian', suffix='.mobi', - delete=False) - output_file.close() - - if use_kindlegen: - output_file_basename = os.path.basename(output_file.name) - subprocess.check_call([converter_path or 'kindlegen', - '-c2', epub.get_filename(), - '-o', output_file_basename], **kwargs) - else: - subprocess.check_call([converter_path or 'ebook-convert', - epub.get_filename(), - output_file.name, '--no-inline-toc', - '--mobi-file-type=both', - '--mobi-ignore-margins'], **kwargs) - return OutputFile.from_filename(output_file.name)