1
0
Fork 0
mirror of https://github.com/kemayo/leech synced 2026-01-01 13:16:52 +01:00

Capture cover options from leech.json and pass them to generate_epub()

This commit is contained in:
Alex Raubach 2018-09-10 23:02:03 -04:00
parent cc29936d92
commit f2fc2c11db
2 changed files with 8 additions and 5 deletions

View file

@ -70,6 +70,7 @@ class CoverOptions:
wrapat = attr.ib(default=None, convert=attr.converters.optional(int))
bgcolor = attr.ib(default=None, convert=attr.converters.optional(tuple))
textcolor = attr.ib(default=None, convert=attr.converters.optional(tuple))
cover_url = attr.ib(default=None, convert=attr.converters.optional(str))
def chapter_html(story, titleprefix=None):
@ -90,7 +91,7 @@ def chapter_html(story, titleprefix=None):
return chapters
def generate_epub(story, output_filename=None, cover_options={}):
def generate_epub(story, cover_options={}, output_filename=None):
dates = list(story.dates())
metadata = {
'title': story.title,

View file

@ -56,11 +56,12 @@ def load_on_disk_options(site):
store = json.load(store_file)
login = store.get('logins', {}).get(site.__name__, False)
configured_site_options = store.get('site_options', {}).get(site.__name__, {})
cover_options = store.get('cover')
except FileNotFoundError:
logger.info("Unable to locate leech.json. Continuing assuming it does not exist.")
login = False
configured_site_options = {}
return configured_site_options, login
return configured_site_options, login, cover_options
def create_options(site, site_options, unused_flags):
@ -71,7 +72,7 @@ def create_options(site, site_options, unused_flags):
flag_specified_site_options = site.interpret_site_specific_options(**unused_flags)
configured_site_options, login = load_on_disk_options(site)
configured_site_options, login, cover_options = load_on_disk_options(site)
overridden_site_options = json.loads(site_options)
@ -81,7 +82,8 @@ def create_options(site, site_options, unused_flags):
list(default_site_options.items()) +
list(configured_site_options.items()) +
list(overridden_site_options.items()) +
list(flag_specified_site_options.items())
list(flag_specified_site_options.items()) +
list(cover_options.items())
)
return options, login
@ -146,7 +148,7 @@ def download(url, site_options, cache, verbose, **other_flags):
options, login = create_options(site, site_options, other_flags)
story = open_story(site, url, session, login, options)
filename = ebook.generate_epub(story)
filename = ebook.generate_epub(story, options)
logger.info("File created: " + filename)