X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/fbae8b47bdeb67d2ec1685d585907bf1a1a1ddc2..7dee009f056f7d802ed487b9b77698d54309f4da:/librarian/mobi.py diff --git a/librarian/mobi.py b/librarian/mobi.py index 82ff343..c3c8f28 100644 --- a/librarian/mobi.py +++ b/librarian/mobi.py @@ -3,18 +3,17 @@ # This file is part of Librarian, licensed under GNU Affero GPLv3 or later. # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # + from copy import deepcopy import os import subprocess from tempfile import NamedTemporaryFile from librarian import OutputFile -from librarian.cover import DefaultEbookCover -from librarian import get_resource -def transform(wldoc, verbose=False, sample=None, cover=None, - use_kindlegen=False, flags=None): +def transform(wldoc, verbose=False, sample=None, cover=None, + use_kindlegen=False, flags=None, hyphenate=True, ilustr_path=''): """ produces a MOBI file wldoc: a WLDocument @@ -25,34 +24,27 @@ def transform(wldoc, verbose=False, sample=None, cover=None, document = deepcopy(wldoc) del wldoc - book_info = document.book_info - if not flags: - flags = [] - flags = list(flags) - epub = document.as_epub(verbose=verbose, sample=sample, - html_toc=True, cover=True, flags=flags) + 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 = 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( - ['kindlegen', '-c2', epub.get_filename(), '-o', output_file_basename], - **kwargs - ) + subprocess.check_call(['kindlegen', '-c2', epub.get_filename(), + '-o', output_file_basename], **kwargs) else: - subprocess.check_call( - ['ebook-convert', epub.get_filename(), output_file.name, - '--no-inline-toc', - '--mobi-file-type=both', - '--mobi-ignore-margins'], **kwargs - ) + subprocess.check_call(['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)