module_loader: Split the URLs inclusion step

This is useful if we need to perform URL reversing operations before loading
modules.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
This commit is contained in:
Sunil Mohan Adapa 2017-04-06 15:21:03 +05:30 committed by James Valleroy
parent 520347cc1b
commit dd196c504d
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808
2 changed files with 10 additions and 2 deletions

View File

@ -328,6 +328,8 @@ def main():
logger.info('Configuration loaded from file - %s', cfg.config_file)
logger.info('Script prefix - %s', cfg.server_dir)
module_loader.include_urls()
module_loader.load_modules()
if arguments.setup is not False:
run_setup_and_exit(arguments.setup)
@ -349,5 +351,6 @@ def main():
cherrypy.engine.start()
cherrypy.engine.block()
if __name__ == '__main__':
main()

View File

@ -37,6 +37,13 @@ loaded_modules = collections.OrderedDict()
_modules_to_load = None
def include_urls():
"""Include the URLs of the modules into main Django project."""
for module_import_path in get_modules_to_load():
module_name = module_import_path.split('.')[-1]
_include_module_urls(module_import_path, module_name)
def load_modules():
"""
Read names of enabled modules in modules/enabled directory and
@ -55,8 +62,6 @@ def load_modules():
if cfg.debug:
raise
_include_module_urls(module_import_path, module_name)
ordered_modules = []
remaining_modules = dict(modules) # Make a copy
for module_name in modules: