From 084af040920cca60d58241ef2bd9e8517b6eec26 Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Wed, 1 Feb 2012 16:27:10 +0100 Subject: [PATCH] [FIX] import-hook: correctly import the server-wide-module (i.e use the openerp.addons namespace), and correctly set the submodules in sys.modules (instead of only the top-level package). bzr revid: vmt@openerp.com-20120201152710-s7sxlgibwd3lwr5l --- openerp-server | 2 +- openerp/modules/module.py | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/openerp-server b/openerp-server index 334c1790526..ab31c3803cd 100755 --- a/openerp-server +++ b/openerp-server @@ -243,7 +243,7 @@ if __name__ == "__main__": for m in openerp.conf.server_wide_modules: try: - __import__(m) + __import__('openerp.addons.' + m) # Call any post_load hook. info = openerp.modules.module.load_information_from_description_file(m) if info['post_load']: diff --git a/openerp/modules/module.py b/openerp/modules/module.py index 2d8ce0abd27..c2935c8d117 100644 --- a/openerp/modules/module.py +++ b/openerp/modules/module.py @@ -140,6 +140,9 @@ To import it, use `import openerp.addons..`.""" % (module_name, path)) mod = imp.load_module(module_name, f, path, descr) if not is_shadowing: sys.modules[module_part] = mod + for k in sys.modules.keys(): + if k.startswith('openerp.addons.' + module_part): + sys.modules[k[len('openerp.addons.'):]] = sys.modules[k] sys.modules['openerp.addons.' + module_part] = mod return mod