summaryrefslogtreecommitdiff
path: root/odoo
diff options
context:
space:
mode:
authorJulien Castiaux <juc@odoo.com>2019-09-17 12:09:15 +0000
committerXavier Morel <xmo@odoo.com>2019-09-20 05:58:41 +0000
commitca8eaf49fd7bfbfac621e6ef2349dba6caff7d0a (patch)
treee921d913c16e586aba954c424f2847fdfa60970b /odoo
parente7506b88d272ac3eaf415b6c3b3c1a00f338b0c2 (diff)
[IMP] module.py: remove openerp and ad_paths
`openerp` module/addons imports has been deprecated in v13 by 7c47eb1 for removal in v14. If you were still using the removed aliases, please substitute all `import openerp` by `import odoo` and `import openerp.addons` by `import odoo.addons`. If you were still using the removed `ad_paths` proxy, please use the python standard `odoo.addons.__path__`. closes odoo/odoo#37007 Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
Diffstat (limited to 'odoo')
-rw-r--r--odoo/modules/module.py87
1 files changed, 2 insertions, 85 deletions
diff --git a/odoo/modules/module.py b/odoo/modules/module.py
index b22a76e9630..8d0dd5a7091 100644
--- a/odoo/modules/module.py
+++ b/odoo/modules/module.py
@@ -30,92 +30,14 @@ README = ['README.rst', 'README.md', 'README.txt']
_logger = logging.getLogger(__name__)
-# addons path as a list
-# ad_paths is a deprecated alias, please use odoo.addons.__path__
-@tools.lazy
-def ad_paths():
- _logger.warning('"odoo.modules.module.ad_paths" is a deprecated '
- 'proxy to "odoo.addons.__path__". Please consider '
- 'using the latter as the former is going to be '
- 'removed in the next version.',
- exc_info=DeprecationWarning(), stack_info=True)
- return odoo.addons.__path__
-hooked = False
-
# Modules already loaded
loaded = []
-class AddonsHook(object):
- """ Makes modules accessible through openerp.addons.* """
-
- def find_module(self, name, path=None):
- if name.startswith('openerp.addons.') and name.count('.') == 2:
- _logger.warning('"openerp.addons" is a deprecated alias to '
- '"odoo.addons". Please consider using the '
- 'latter as the former is going to be removed '
- 'in the next version.',
- exc_info=DeprecationWarning(), stack_info=True)
- return self
-
- def load_module(self, name):
- assert name not in sys.modules
-
- odoo_name = re.sub(r'^openerp.addons.(\w+)$', r'odoo.addons.\g<1>', name)
-
- odoo_module = sys.modules.get(odoo_name)
- if not odoo_module:
- odoo_module = importlib.import_module(odoo_name)
-
- sys.modules[name] = odoo_module
-
- return odoo_module
-
-# need to register loader with setuptools as Jinja relies on it when using
-# PackageLoader
-pkg_resources.register_loader_type(AddonsHook, pkg_resources.DefaultProvider)
-
-class OdooHook(object):
- """ Makes odoo package also available as openerp """
-
- def find_module(self, name, path=None):
- # openerp.addons.<identifier> should already be matched by AddonsHook,
- # only framework and subdirectories of modules should match
- if re.match(r'^openerp\b', name):
- _logger.warning('openerp is a deprecated alias to odoo. '
- 'Please consider using the latter as the '
- 'former is going to be removed in the next '
- 'version.',
- exc_info=DeprecationWarning(), stack_info=True)
- return self
-
- def load_module(self, name):
- assert name not in sys.modules
-
- canonical = re.sub(r'^openerp(.*)', r'odoo\g<1>', name)
-
- if canonical in sys.modules:
- mod = sys.modules[canonical]
- else:
- # probable failure: canonical execution calling old naming -> corecursion
- mod = importlib.import_module(canonical)
-
- # just set the original module at the new location. Don't proxy,
- # it breaks *-import (unless you can find how `from a import *` lists
- # what's supposed to be imported by `*`, and manage to override it)
- sys.modules[name] = mod
-
- return sys.modules[name]
-
def initialize_sys_path():
"""
- Setup an import-hook to be able to import OpenERP addons from the different
- addons paths.
-
- This ensures something like ``import crm`` (or even
- ``import odoo.addons.crm``) works even if the addons are not in the
- PYTHONPATH.
+ Setup the addons path ``odoo.addons.__path__`` with various defaults
+ and explicit directories.
"""
- global hooked
dd = os.path.normcase(tools.config.addons_data_dir)
if os.access(dd, os.R_OK) and dd not in odoo.addons.__path__:
@@ -131,11 +53,6 @@ def initialize_sys_path():
if base_path not in odoo.addons.__path__ and os.path.isdir(base_path):
odoo.addons.__path__.append(base_path)
- if not hooked:
- sys.meta_path.insert(0, OdooHook())
- sys.meta_path.insert(0, AddonsHook())
- hooked = True
-
def get_module_path(module, downloaded=False, display_warning=True):
"""Return the path of the given module.