# -*- 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
-
-from librarian import epub, DirDocProvider
+from librarian.book2anything import Book2Anything, Option
+
+
+class Book2Epub(Book2Anything):
+ format_name = "EPUB"
+ ext = "epub"
+ uses_cover = True
+ uses_provider = True
+ transform_flags = [
+ Option('-w', '--working-copy', dest='working-copy',
+ action='store_true', default=False,
+ help='mark the output as a working copy'),
+ ]
+ transform_options = [
+ Option('-R', '--resources', dest='resources', metavar='DIR',
+ help='a directory with additional resources'),
+ Option('-I', '--intro', dest='intro_file', metavar='FILE',
+ help='HTML file containing intro'),
+ Option('-e', '--cover-file', dest='cover_file', metavar='FILE',
+ help='Cover image file'),
+ ]
if __name__ == '__main__':
- # Parse commandline arguments
- usage = """Usage: %prog [options] SOURCE
- Convert SOURCE file to EPUB format."""
-
- parser = optparse.OptionParser(usage=usage)
-
- parser.add_option('-v', '--verbose', action='store_true', dest='verbose', default=False,
- help='print status messages to stdout')
- parser.add_option('-d', '--make-dir', action='store_true', dest='make_dir', default=False,
- help='create a directory for author and put the PDF in it')
-
- options, input_filenames = parser.parse_args()
-
- if len(input_filenames) != 1:
- parser.print_help()
- exit(1)
-
- # Do some real work
- main_input = input_filenames[0]
- if options.verbose:
- print main_input
- basepath, ext = os.path.splitext(main_input)
- path, slug = os.path.realpath(basepath).rsplit('/', 1)
- provider = DirDocProvider(path)
- epub.transform(provider, slug, output_dir=path, make_dir=options.make_dir)
+ Book2Epub.run()