From 389c2ba97ba83dea01949d2a3cad295bd710d9ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=3D=3FUTF-8=3Fq=3FSt=3DC3=3DA9phane=3D20Bidoul=3D20=3D28AC?= =?UTF-8?q?SONE=3D29=3F=3D?= Date: Tue, 27 Sep 2016 12:00:44 +0200 Subject: [REF] packaging: make odoo a namespaced package by auto-extending addons path with odoo.addons.__path__. This patch also introduce * an explicit declaration of odoo.addons as a namespace package This is necessary because the standard way of declaring namespace packages in setup.py does not work as long as odoo/__init__.py contains code. * a more reliable way to find odoo root path. --- odoo/modules/module.py | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'odoo/modules/module.py') diff --git a/odoo/modules/module.py b/odoo/modules/module.py index 77fb1433d13..ed4318d9641 100644 --- a/odoo/modules/module.py +++ b/odoo/modules/module.py @@ -141,6 +141,12 @@ def initialize_sys_path(): if base_path not in ad_paths: ad_paths.append(base_path) + # add odoo.addons.__path__ + for ad in __import__('odoo.addons').addons.__path__: + ad = os.path.abspath(ad) + if ad not in ad_paths: + ad_paths.append(ad) + if not hooked: sys.meta_path.append(AddonsHook()) sys.meta_path.append(OdooHook()) -- cgit v1.2.3