diff --git a/oslo_messaging/_executors/impl_pooledexecutor.py b/oslo_messaging/_executors/impl_pooledexecutor.py index 7689bd14f..b36c2e826 100644 --- a/oslo_messaging/_executors/impl_pooledexecutor.py +++ b/oslo_messaging/_executors/impl_pooledexecutor.py @@ -18,8 +18,8 @@ import collections import threading from concurrent import futures -from oslo.config import cfg -from oslo.utils import excutils +from oslo_config import cfg +from oslo_utils import excutils from oslo_messaging._executors import base diff --git a/oslo_messaging/hacking/__init__.py b/oslo_messaging/hacking/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/oslo_messaging/hacking/checks.py b/oslo_messaging/hacking/checks.py new file mode 100644 index 000000000..5ab976535 --- /dev/null +++ b/oslo_messaging/hacking/checks.py @@ -0,0 +1,42 @@ +# Copyright (c) 2014 OpenStack Foundation. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +import re + + +oslo_namespace_imports_dot = re.compile(r"import[\s]+oslo[.][^\s]+") +oslo_namespace_imports_from_dot = re.compile(r"from[\s]+oslo[.]") +oslo_namespace_imports_from_root = re.compile(r"from[\s]+oslo[\s]+import[\s]+") + + +def check_oslo_namespace_imports(logical_line): + if re.match(oslo_namespace_imports_from_dot, logical_line): + msg = ("O323: '%s' must be used instead of '%s'.") % ( + logical_line.replace('oslo.', 'oslo_'), + logical_line) + yield(0, msg) + elif re.match(oslo_namespace_imports_from_root, logical_line): + msg = ("O323: '%s' must be used instead of '%s'.") % ( + logical_line.replace('from oslo import ', 'import oslo_'), + logical_line) + yield(0, msg) + elif re.match(oslo_namespace_imports_dot, logical_line): + msg = ("O323: '%s' must be used instead of '%s'.") % ( + logical_line.replace('import', 'from').replace('.', ' import '), + logical_line) + yield(0, msg) + + +def factory(register): + register(check_oslo_namespace_imports) diff --git a/tools/simulator.py b/tools/simulator.py index 0a8309e17..2f54e0b3d 100755 --- a/tools/simulator.py +++ b/tools/simulator.py @@ -25,10 +25,10 @@ import logging import sys import time -from oslo.config import cfg -from oslo import messaging -from oslo.messaging import notify -from oslo.messaging import rpc +from oslo_config import cfg +import oslo_messaging as messaging +from oslo_messaging import notify # noqa +from oslo_messaging import rpc # noqa LOG = logging.getLogger() diff --git a/tox.ini b/tox.ini index 2f9026b93..92cdc4b93 100644 --- a/tox.ini +++ b/tox.ini @@ -42,13 +42,14 @@ commands = {toxinidir}/setup-test-env-zmq.sh python setup.py testr --slowest --t [flake8] show-source = True ignore = H237,H402,H405,H904 -exclude = .tox,dist,doc,*.egg,build,__init__.py +exclude = .tox,dist,doc,*.egg,build,__init__.py,tests [hacking] import_exceptions = oslo_messaging.openstack.common._i18n oslo_messaging._i18n six.moves +local-check-factory = oslo_messaging.hacking.checks.factory [testenv:pip-missing-reqs] # do not install test-requirements as that will pollute the virtualenv for