CLI: Fix problem with --download-list from plugin CLI, move StringIO for passed INIs down to point of use.

This commit is contained in:
Jim Miller 2017-10-19 13:07:35 -05:00
parent cef419b574
commit a19331e311
2 changed files with 10 additions and 6 deletions

View file

@ -114,7 +114,6 @@ class FanFicFareBase(InterfaceActionBase):
with self: # so the sys.path was modified appropriately
# I believe there's no performance hit loading these here when
# CLI--it would load everytime anyway.
from StringIO import StringIO
from calibre.library import db
from calibre_plugins.fanficfare_plugin.fanficfare.cli import main as fff_main
from calibre_plugins.fanficfare_plugin.prefs import PrefsFacade
@ -136,6 +135,6 @@ class FanFicFareBase(InterfaceActionBase):
fff_main(argv[1:],
parser=parser,
passed_defaultsini=StringIO(get_resources("fanficfare/defaults.ini")),
passed_personalini=StringIO(fff_prefs["personal.ini"]),
passed_defaultsini=get_resources("fanficfare/defaults.ini"),
passed_personalini=fff_prefs["personal.ini"],
)

View file

@ -19,6 +19,7 @@ from optparse import OptionParser, SUPPRESS_HELP
from os.path import expanduser, join, dirname
from os import access, R_OK
from subprocess import call
from StringIO import StringIO
import ConfigParser
import getpass
import logging
@ -444,7 +445,7 @@ def get_configuration(url,
except exceptions.UnknownSite, e:
if options.list or options.normalize or options.downloadlist:
# list for page doesn't have to be a supported site.
configuration = Configuration('test1.com', options.format)
configuration = Configuration(['unknown'], options.format)
else:
raise e
@ -454,7 +455,9 @@ def get_configuration(url,
homepath2 = join(expanduser('~'), '.fanficfare')
if passed_defaultsini:
configuration.readfp(passed_defaultsini)
# new StringIO each time rather than pass StringIO and rewind
# for case of list download. Just makes more sense to me.
configuration.readfp(StringIO(passed_defaultsini))
else:
# don't need to check existance for our selves.
conflist.append(join(dirname(__file__), 'defaults.ini'))
@ -463,7 +466,9 @@ def get_configuration(url,
conflist.append('defaults.ini')
if passed_personalini:
configuration.readfp(passed_personalini)
# new StringIO each time rather than pass StringIO and rewind
# for case of list download. Just makes more sense to me.
configuration.readfp(StringIO(passed_personalini))
conflist.append(join(homepath, 'personal.ini'))
conflist.append(join(homepath2, 'personal.ini'))