From e254845470f0c48f179b40df702cbd605adb1781 Mon Sep 17 00:00:00 2001 From: dharmendra Date: Fri, 12 Jul 2019 09:00:15 +0000 Subject: [PATCH] Switch to oslo_utils.importutils to load module The imp module is deprecated since a while and the load_source method has been removed from docs because broken [1][2]. Switch to oslo_utils.importutils for the same. [1] https://bugs.python.org/issue14551 [2] https://mail.python.org/pipermail/python-ideas/2014-December/030265.html Change-Id: Ic567e48b925befe2c196a5d46de8e504f273387e --- tacker/api/extensions.py | 5 +++-- tools/check_i18n.py | 10 +++++----- tox.ini | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/tacker/api/extensions.py b/tacker/api/extensions.py index 3f0e36b1f..2b427973b 100644 --- a/tacker/api/extensions.py +++ b/tacker/api/extensions.py @@ -15,11 +15,11 @@ # under the License. import abc -import imp import os from oslo_config import cfg from oslo_log import log as logging +from oslo_utils import importutils import routes import six import webob.dec @@ -540,7 +540,8 @@ class ExtensionManager(object): mod_name, file_ext = os.path.splitext(os.path.split(f)[-1]) ext_path = os.path.join(path, f) if file_ext.lower() == '.py' and not mod_name.startswith('_'): - mod = imp.load_source(mod_name, ext_path) + mod = importutils.import_module( + 'tacker.extensions.' + mod_name) ext_name = mod_name[0].upper() + mod_name[1:] new_ext_class = getattr(mod, ext_name, None) if not new_ext_class: diff --git a/tools/check_i18n.py b/tools/check_i18n.py index ba8a87772..c9f612d0a 100644 --- a/tools/check_i18n.py +++ b/tools/check_i18n.py @@ -15,10 +15,11 @@ from __future__ import print_function import compiler -import imp import os.path import sys +from olso_utils import importutils + def is_localized(node): """Check message wrapped by _()""" @@ -116,9 +117,8 @@ def check_i18n(input_file, i18n_msg_predicates, msg_format_checkers, debug): if __name__ == '__main__': input_path = sys.argv[1] - cfg_path = sys.argv[2] try: - cfg_mod = imp.load_source('', cfg_path) + cfg_mod = importutils.import_module(tools.check_i18n) except Exception: print("Load cfg module failed", file=sys.stderr) sys.exit(1) @@ -128,8 +128,8 @@ if __name__ == '__main__': black_list = cfg_mod.file_black_list debug = False - if len(sys.argv) > 3: - if sys.argv[3] == '-d': + if len(sys.argv) > 2: + if sys.argv[2] == '-d': debug = True if os.path.isfile(input_path): diff --git a/tox.ini b/tox.ini index 35b605a8f..be5a28c59 100644 --- a/tox.ini +++ b/tox.ini @@ -54,7 +54,7 @@ commands = whitelist_externals = bash [testenv:i18n] -commands = python ./tools/check_i18n.py ./tacker ./tools/i18n_cfg.py +commands = python ./tools/check_i18n.py ./tacker [testenv:docs] deps = -r{toxinidir}/doc/requirements.txt