misc: add support for specifying extra modules in configuration files (#6654)

[extra]
auquotidien = ../auquotidien/extra/
This commit is contained in:
Benjamin Dauvergne 2015-03-09 14:58:31 +01:00 committed by Frédéric Péters
parent 4ec7e130be
commit 82627cdc8c
3 changed files with 10 additions and 5 deletions

View File

@ -71,7 +71,7 @@ class CmdStart(Command):
run_kwargs['port'] = int(sub_options.port)
run_kwargs['spawn_cron'] = True
run_function = qommon.scgi_server.run
publisher.WcsPublisher.configure(self.config, sub_options.extra)
publisher.WcsPublisher.configure(self.config)
if sub_options.handler_connection_limit:
run_kwargs['handler_connection_limit'] = int(sub_options.handler_connection_limit)
elif self.config.has_option('main', 'handler_connection_limit'):

View File

@ -89,10 +89,10 @@ class WcsPublisher(StubWcsPublisher):
return admin
get_admin_module = classmethod(get_admin_module)
def configure(cls, config, extra=[]):
for directory in extra:
cls.register_extra_dir(directory)
def configure(cls, config):
if config.has_section('extra'):
for name, directory in config.items('extra'):
cls.register_extra_dir(directory)
if config.has_option("main", "app_dir"):
cls.APP_DIR = config.get("main", "app_dir")
if config.has_option("main", "data_dir"):

View File

@ -61,6 +61,11 @@ class Command(object):
self.config.set("main", "app_dir", sub_options.app_dir)
if sub_options.data_dir:
self.config.set("main", "data_dir", sub_options.data_dir)
if sub_options.extra:
if not self.config.has_section('extra'):
self.config.add_section('extra')
for i, extra in enumerate(sub_options.extra):
self.config.set("extra", "cmd_line_extra_%d" % i, extra)
return self.execute(base_options, sub_options, args)
def parse_args(self, args):