X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/1e438727014e352799b4dfb8d3dfb2f8e7a58251..e2bc69b731434e6929686637ba4cf296632138e2:/scripts/book2partner?ds=sidebyside diff --git a/scripts/book2partner b/scripts/book2partner index 5866cc3..6955899 100755 --- a/scripts/book2partner +++ b/scripts/book2partner @@ -2,7 +2,7 @@ # -*- 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. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. # import os.path import optparse @@ -14,7 +14,7 @@ from librarian.dcparser import BookInfo def utf_trunc(text, limit): -""" truncates text to at most `limit' bytes in utf-8 """ + """ truncates text to at most `limit' bytes in utf-8 """ if text is None: return text orig_text = text @@ -66,8 +66,8 @@ def virtualo(filenames, output_dir, verbose): product_elem[4][0][1].text = utf_trunc(info.author.last_name, 100) xml.append(product_elem) - cover.cover(600, 730, - u' '.join(info.author.first_names + (info.author.last_name,)), + cover.VirtualoCover( + u' '.join(info.author.first_names + (info.author.last_name,)), info.title ).save(os.path.join(outfile_dir, slug+'.jpg')) outfile = os.path.join(outfile_dir, '1.epub') @@ -86,6 +86,55 @@ def virtualo(filenames, output_dir, verbose): xml_file.close() +def prestigio(filenames, output_dir, verbose): + try: + for main_input in input_filenames: + if options.verbose: + print main_input + path, fname = os.path.realpath(main_input).rsplit('/', 1) + provider = DirDocProvider(path) + slug, ext = os.path.splitext(fname) + + if output_dir != '': + try: + os.makedirs(output_dir) + except: + pass + outfile = os.path.join(output_dir, slug + '.epub') + epub.transform(provider, file_path=main_input, output_file=outfile, + cover=cover.PrestigioCover, flags=('less-advertising',)) + except ParseError, e: + print '%(file)s:%(name)s:%(message)s' % { + 'file': main_input, + 'name': e.__class__.__name__, + 'message': e.message + } + + +def bookoteka(filenames, output_dir, verbose): + try: + for main_input in input_filenames: + if options.verbose: + print main_input + path, fname = os.path.realpath(main_input).rsplit('/', 1) + provider = DirDocProvider(path) + slug, ext = os.path.splitext(fname) + + if output_dir != '': + try: + os.makedirs(output_dir) + except: + pass + outfile = os.path.join(output_dir, slug + '.epub') + epub.transform(provider, file_path=main_input, output_file=outfile, + cover=cover.BookotekaCover) + except ParseError, e: + print '%(file)s:%(name)s:%(message)s' % { + 'file': main_input, + 'name': e.__class__.__name__, + 'message': e.message + } + if __name__ == '__main__': @@ -99,8 +148,12 @@ if __name__ == '__main__': help='print status messages to stdout') parser.add_option('-O', '--output-dir', dest='output_dir', metavar='DIR', default='', help='specifies the directory for output') + parser.add_option('--bookoteka', action='store_true', dest='bookoteka', default=False, + help='prepare files for Bookoteka') parser.add_option('--virtualo', action='store_true', dest='virtualo', default=False, help='prepare files for Virtualo API') + parser.add_option('--prestigio', action='store_true', dest='prestigio', default=False, + help='prepare files for Prestigio') options, input_filenames = parser.parse_args() @@ -108,5 +161,9 @@ if __name__ == '__main__': parser.print_help() exit(1) + if options.bookoteka: + bookoteka(input_filenames, options.output_dir, options.verbose) if options.virtualo: virtualo(input_filenames, options.output_dir, options.verbose) + if options.prestigio: + prestigio(input_filenames, options.output_dir, options.verbose)