]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Migrate to oslo.i18n
authorIhar Hrachyshka <ihrachys@redhat.com>
Fri, 21 Nov 2014 21:01:08 +0000 (22:01 +0100)
committerIhar Hrachyshka <ihrachys@redhat.com>
Wed, 26 Nov 2014 21:19:24 +0000 (22:19 +0100)
Mostly trivial import changes.

- oslo.i18n no longer provide install() method to inject _() into
  globals(), so removed all calls to it;
- removed Babel from dependencies (it will now be grabbed by oslo.i18n);
- updated tox.ini to ignore import violations for oslo.i18n.

Change-Id: I6623d551f512fb7fe9bf35ee734ed6d4c6cbc287

137 files changed:
neutron/agent/dhcp_agent.py
neutron/agent/l3_agent.py
neutron/agent/l3_ha_agent.py
neutron/agent/linux/async_process.py
neutron/agent/linux/daemon.py
neutron/agent/linux/dhcp.py
neutron/agent/linux/external_process.py
neutron/agent/linux/interface.py
neutron/agent/linux/ip_link_support.py
neutron/agent/linux/iptables_firewall.py
neutron/agent/linux/iptables_manager.py
neutron/agent/linux/keepalived.py
neutron/agent/linux/ovs_lib.py
neutron/agent/linux/ovsdb_monitor.py
neutron/agent/metadata/agent.py
neutron/agent/metadata/namespace_proxy.py
neutron/agent/netns_cleanup_util.py
neutron/agent/ovs_cleanup_util.py
neutron/agent/rpc.py
neutron/agent/securitygroups_rpc.py
neutron/api/api_common.py
neutron/api/extensions.py
neutron/api/rpc/agentnotifiers/dhcp_rpc_agent_api.py
neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py
neutron/api/rpc/handlers/dhcp_rpc.py
neutron/api/rpc/handlers/l3_rpc.py
neutron/api/v2/base.py
neutron/api/v2/resource.py
neutron/api/versions.py
neutron/cmd/sanity/checks.py
neutron/cmd/sanity_check.py
neutron/common/config.py
neutron/common/ipv6_utils.py
neutron/db/agents_db.py
neutron/db/db_base_plugin_v2.py
neutron/db/dvr_mac_db.py
neutron/db/l3_agentschedulers_db.py
neutron/db/l3_db.py
neutron/db/l3_dvr_db.py
neutron/db/l3_dvrscheduler_db.py
neutron/db/l3_hamode_db.py
neutron/db/metering/metering_rpc.py
neutron/db/migration/alembic_migrations/heal_script.py
neutron/db/securitygroups_rpc_base.py
neutron/db/vpn/vpn_db.py
neutron/debug/commands.py
neutron/debug/debug_agent.py
neutron/extensions/l3agentscheduler.py
neutron/i18n.py [new file with mode: 0644]
neutron/notifiers/nova.py
neutron/openstack/common/gettextutils.py [deleted file]
neutron/plugins/bigswitch/db/consistency_db.py
neutron/plugins/cisco/cfg_agent/cfg_agent.py
neutron/plugins/cisco/cfg_agent/device_drivers/csr1kv/csr1kv_routing_driver.py
neutron/plugins/cisco/cfg_agent/device_drivers/driver_mgr.py
neutron/plugins/cisco/cfg_agent/device_status.py
neutron/plugins/cisco/cfg_agent/service_helpers/routing_svc_helper.py
neutron/plugins/cisco/db/l3/device_handling_db.py
neutron/plugins/cisco/db/l3/l3_router_appliance_db.py
neutron/plugins/cisco/db/n1kv_db_v2.py
neutron/plugins/cisco/l3/hosting_device_drivers/csr1kv_hd_driver.py
neutron/plugins/cisco/l3/plugging_drivers/n1kv_trunking_driver.py
neutron/plugins/cisco/l3/service_vm_lib.py
neutron/plugins/cisco/models/virt_phy_sw_v2.py
neutron/plugins/cisco/n1kv/n1kv_neutron_plugin.py
neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py
neutron/plugins/ml2/db.py
neutron/plugins/ml2/drivers/arista/arista_l3_driver.py
neutron/plugins/ml2/drivers/arista/mechanism_arista.py
neutron/plugins/ml2/drivers/brocade/mechanism_brocade.py
neutron/plugins/ml2/drivers/brocade/nos/nosdriver.py
neutron/plugins/ml2/drivers/cisco/apic/apic_sync.py
neutron/plugins/ml2/drivers/cisco/apic/apic_topology.py
neutron/plugins/ml2/drivers/cisco/nexus/nexus_db_v2.py
neutron/plugins/ml2/drivers/freescale/mechanism_fslsdn.py
neutron/plugins/ml2/drivers/helpers.py
neutron/plugins/ml2/drivers/l2pop/mech_driver.py
neutron/plugins/ml2/drivers/mech_agent.py
neutron/plugins/ml2/drivers/mech_bigswitch/driver.py
neutron/plugins/ml2/drivers/mech_nuage/driver.py
neutron/plugins/ml2/drivers/mech_sriov/mech_driver.py
neutron/plugins/ml2/drivers/type_flat.py
neutron/plugins/ml2/drivers/type_gre.py
neutron/plugins/ml2/drivers/type_local.py
neutron/plugins/ml2/drivers/type_tunnel.py
neutron/plugins/ml2/drivers/type_vlan.py
neutron/plugins/ml2/drivers/type_vxlan.py
neutron/plugins/ml2/managers.py
neutron/plugins/ml2/plugin.py
neutron/plugins/ml2/rpc.py
neutron/plugins/mlnx/agent/eswitch_neutron_agent.py
neutron/plugins/nuage/syncmanager.py
neutron/plugins/ofagent/agent/arp_lib.py
neutron/plugins/ofagent/agent/ofa_neutron_agent.py
neutron/plugins/openvswitch/agent/ovs_dvr_neutron_agent.py
neutron/plugins/openvswitch/agent/ovs_neutron_agent.py
neutron/plugins/vmware/plugins/base.py
neutron/policy.py
neutron/scheduler/dhcp_agent_scheduler.py
neutron/scheduler/l3_agent_scheduler.py
neutron/server/__init__.py
neutron/services/firewall/agents/l3reference/firewall_l3_agent.py
neutron/services/firewall/agents/varmour/varmour_api.py
neutron/services/firewall/agents/varmour/varmour_router.py
neutron/services/firewall/drivers/linux/iptables_fwaas.py
neutron/services/firewall/drivers/varmour/varmour_fwaas.py
neutron/services/firewall/fwaas_plugin.py
neutron/services/l3_router/brocade/l3_router_plugin.py
neutron/services/l3_router/l3_arista.py
neutron/services/loadbalancer/agent/agent_manager.py
neutron/services/loadbalancer/agent_scheduler.py
neutron/services/loadbalancer/drivers/common/agent_driver_base.py
neutron/services/loadbalancer/drivers/embrane/agent/dispatcher.py
neutron/services/loadbalancer/drivers/embrane/agent/lb_operations.py
neutron/services/loadbalancer/drivers/embrane/driver.py
neutron/services/loadbalancer/drivers/embrane/poller.py
neutron/services/loadbalancer/drivers/haproxy/namespace_driver.py
neutron/services/loadbalancer/drivers/netscaler/ncc_client.py
neutron/services/loadbalancer/drivers/netscaler/netscaler_driver.py
neutron/services/loadbalancer/drivers/radware/driver.py
neutron/services/loadbalancer/plugin.py
neutron/services/metering/agents/metering_agent.py
neutron/services/metering/drivers/iptables/iptables_driver.py
neutron/services/service_base.py
neutron/services/vpn/device_drivers/cisco_csr_rest_client.py
neutron/services/vpn/device_drivers/cisco_ipsec.py
neutron/services/vpn/device_drivers/ipsec.py
neutron/services/vpn/plugin.py
neutron/services/vpn/service_drivers/cisco_csr_db.py
neutron/tests/unit/cisco/l3/device_handling_test_support.py
neutron/tests/unit/test_api_v2_resource.py
neutron/tests/unit/test_l3_agent.py
neutron/tests/unit/vmware/apiclient/test_api_eventlet_request.py
neutron/wsgi.py
openstack-common.conf
requirements.txt
tox.ini

index 95182c99e1a0119d1544f5be2b6875be7c3a48c1..58c5eb4c8ba430a2187152ee05876e8d7c76c4f1 100644 (file)
@@ -38,8 +38,8 @@ from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron.common import utils
 from neutron import context
+from neutron.i18n import _LE, _LI, _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
 from neutron.openstack.common import service
index 32bbc1aceeca757f17868383d90f61c0f1c2c87c..54138f348d34f73c2bc25ccd7a34c5590702ee29 100644 (file)
@@ -44,8 +44,8 @@ from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron.common import utils as common_utils
 from neutron import context as n_context
+from neutron.i18n import _LE, _LI, _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
 from neutron.openstack.common import periodic_task
index 49cba74153de3f691843f6f417b434e08cab0029..c1f6f492803494620c9dbf38a4d45e562a2cec25 100644 (file)
@@ -21,7 +21,7 @@ from oslo.config import cfg
 
 from neutron.agent.linux import keepalived
 from neutron.common import constants as l3_constants
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import periodic_task
 
index bb3ca0a3e001568e80834e483781f7fc212d5a6e..c19e0520f58bb0ed8ee2e916aa1ce5dac785e778 100644 (file)
@@ -17,7 +17,7 @@ import eventlet.event
 import eventlet.queue
 
 from neutron.agent.linux import utils
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 
 
index ccfd1fbe9760208b8a661e7a8803de694a3c06e8..047a8ee03099dcc84410d93651c7d3732b15573e 100644 (file)
@@ -18,7 +18,7 @@ import os
 import signal
 import sys
 
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 
 LOG = logging.getLogger(__name__)
index ceae81c1146add8a3433b17b7e19e2ae91dd4dfb..cc57c780618252df7c3d226702e6a522d5dd843a 100644 (file)
@@ -32,7 +32,7 @@ from neutron.agent.linux import utils
 from neutron.common import constants
 from neutron.common import exceptions
 from neutron.common import utils as commonutils
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import uuidutils
 
index ffea1247ac3c6df259ad3db80df04f0cb0c0c45a..b6b3688e8896292c2ee227a38e21ec97bbe51dff 100644 (file)
@@ -19,7 +19,7 @@ from oslo.config import cfg
 
 from neutron.agent.linux import ip_lib
 from neutron.agent.linux import utils
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import lockutils
 from neutron.openstack.common import log as logging
 
index adbd0e9fdf5292b4b3fb9a485946c75a0cdb8cec..4887ce73ba2ffee3ebd1de840ddc3968f286390d 100644 (file)
@@ -27,7 +27,7 @@ from neutron.agent.linux import utils
 from neutron.common import constants as n_const
 from neutron.common import exceptions
 from neutron.extensions import flavor
-from neutron.openstack.common.gettextutils import _LE, _LI
+from neutron.i18n import _LE, _LI
 from neutron.openstack.common import log as logging
 
 
index c7222d0fe57fb9caeb47bf5b96142937e3cc2b23..146cd06ee23853cc0516ca96d3bc366e17b6470e 100644 (file)
@@ -17,7 +17,7 @@ import re
 
 from neutron.agent.linux import utils
 from neutron.common import exceptions as n_exc
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 
 
index 945a4a63e0fafd6eac1ee93650f6328a17065e77..73b21a4e4b62f94433892b6090621d1a7257b1ef 100644 (file)
@@ -22,7 +22,7 @@ from neutron.agent.linux import iptables_comments as ic
 from neutron.agent.linux import iptables_manager
 from neutron.common import constants
 from neutron.common import ipv6_utils
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 
 
index b59c43ba3d86f001c0b24d32af60e3454e6c6ed7..c9a2b894b0329b994afaefe920ae823045d8d493 100644 (file)
@@ -29,7 +29,7 @@ from neutron.agent.common import config
 from neutron.agent.linux import iptables_comments as ic
 from neutron.agent.linux import utils as linux_utils
 from neutron.common import utils
-from neutron.openstack.common.gettextutils import _LE, _LW
+from neutron.i18n import _LE, _LW
 from neutron.openstack.common import lockutils
 from neutron.openstack.common import log as logging
 
index 2c3fc62a3dee2d4f6684039936c8ce1e31af772b..429206bcb0f24f6122c67349071c41d4f2ab8196 100644 (file)
@@ -21,7 +21,7 @@ from oslo.config import cfg
 from neutron.agent.linux import external_process
 from neutron.agent.linux import utils
 from neutron.common import exceptions
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 
 VALID_STATES = ['MASTER', 'BACKUP']
index a500e51d37e3ec482c2cdde5d44d778b7a3aa93e..3a49c0c9ee143b148a1e0b33e61ce66f15c985fd 100644 (file)
@@ -23,7 +23,7 @@ from oslo.utils import excutils
 from neutron.agent.linux import ip_lib
 from neutron.agent.linux import utils
 from neutron.common import exceptions
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
+from neutron.i18n import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants
 
index a7bf75cb64fd7599806968b7e6dd062005af1880..a81349dc8fc56c486902104e3a645945cc29f692 100644 (file)
@@ -15,7 +15,7 @@
 import eventlet
 
 from neutron.agent.linux import async_process
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 
 
index e0f78c014dcccf5790852b2d21186f74df937115..b52b46dfbb229f91509ed546075b41f18c0fb993 100644 (file)
@@ -37,8 +37,8 @@ from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron.common import utils
 from neutron import context
+from neutron.i18n import _LE, _LW
 from neutron.openstack.common.cache import cache
-from neutron.openstack.common.gettextutils import _LE, _LW
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
 from neutron import wsgi
index 3fe96f6bfc2134eb085d76f8282d4c26af7ccc12..a48d5bbfdf1f817de954eb896603e311e4b5054d 100644 (file)
@@ -26,7 +26,7 @@ import webob
 from neutron.agent.linux import daemon
 from neutron.common import config
 from neutron.common import utils
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from neutron import wsgi
 
index f40d5e408226e8dfbc4b2092b1fd167bc3eb47d2..60e3f82fd533db64a06206292c4f40bc0a95f5df 100644 (file)
@@ -30,7 +30,7 @@ from neutron.agent.linux import ip_lib
 from neutron.agent.linux import ovs_lib
 from neutron.api.v2 import attributes
 from neutron.common import config
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 
 
index da23bb6bfe778c26418057759a2af9112003985d..9d365abbaae80abedc5aafe18862ad2591088650 100644 (file)
@@ -21,7 +21,7 @@ from neutron.agent.linux import interface
 from neutron.agent.linux import ip_lib
 from neutron.agent.linux import ovs_lib
 from neutron.common import config
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 
 
index 3f8d5e291e14674e5b424f12e20198e7f065907d..6d7893234089e47eb8ace6b5395975a40e4dc46d 100644 (file)
@@ -19,7 +19,7 @@ from oslo.utils import timeutils
 
 from neutron.common import rpc as n_rpc
 from neutron.common import topics
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 
 
index a6aab260d84cdc7f2e746f08644f46e4b1f410a3..ad986e4c84dd41a57d9bc4c7183609c7972253a6 100644 (file)
@@ -22,7 +22,7 @@ from oslo.utils import importutils
 
 from neutron.agent import firewall
 from neutron.common import topics
-from neutron.openstack.common.gettextutils import _LI, _LW
+from neutron.i18n import _LI, _LW
 from neutron.openstack.common import log as logging
 
 LOG = logging.getLogger(__name__)
index d90d6440b9db4fda94b6a9a381fd94cec0483876..792254191b5335f3513f91d29c4f34ad04c40c06 100644 (file)
@@ -20,7 +20,7 @@ from webob import exc
 
 from neutron.common import constants
 from neutron.common import exceptions
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 
 
index 3a406a0ab64b15fdb6498ce9d777404318d0ccca..2a66680c25a3c340f8c9dd33c8f25f58c862448b 100644 (file)
@@ -27,8 +27,8 @@ import webob.exc
 
 from neutron.common import exceptions
 import neutron.extensions
+from neutron.i18n import _LE, _LI, _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron import policy
 from neutron import wsgi
index ad0077225b27f4834248e6598c7c8b06ea366954..969e1b2d0d41ea85b48f4410df313fcb29715d52 100644 (file)
@@ -17,8 +17,8 @@ from neutron.common import constants
 from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron.common import utils
+from neutron.i18n import _LE, _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE, _LW
 from neutron.openstack.common import log as logging
 
 
index e69ea54c94a83ce6a36dbfe4b3b66ac706f4c902..22240951cb6e4c420d3c213b1c1fc7a7cff2fba6 100644 (file)
@@ -19,8 +19,8 @@ from neutron.common import constants
 from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron.common import utils
+from neutron.i18n import _LE
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants as service_constants
 
index add359cafbacf0b1ba254f2a00870b02d6fc0b62..9673a65d5af58490ec55559f62b11b441f561db5 100644 (file)
@@ -23,8 +23,8 @@ from neutron.common import constants
 from neutron.common import exceptions as n_exc
 from neutron.common import utils
 from neutron.extensions import portbindings
+from neutron.i18n import _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LW
 from neutron.openstack.common import log as logging
 
 
index 80b5982956194fa078dd7a3363963c575c7fda63..db9081bb0777cb60fddb96b58482d3b630f09dc8 100644 (file)
@@ -23,8 +23,8 @@ from neutron.common import utils
 from neutron import context as neutron_context
 from neutron.extensions import l3
 from neutron.extensions import portbindings
+from neutron.i18n import _LE
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants as plugin_constants
 
index a68477f6e18d2f47d48d6ac46a9ac0f450ce43ca..4c1810cff8e9bb19f04603d7a849c988a041145c 100644 (file)
@@ -27,7 +27,7 @@ from neutron.api.v2 import resource as wsgi_resource
 from neutron.common import constants as const
 from neutron.common import exceptions
 from neutron.common import rpc as n_rpc
-from neutron.openstack.common.gettextutils import _LE, _LI
+from neutron.i18n import _LE, _LI
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import policy as common_policy
 from neutron import policy
index 286a0c7f5579e2e2ee06fbce012edc3abb029eea..ab5618ab856821a775093de3d27eacfd91729a40 100644 (file)
@@ -20,13 +20,13 @@ Utility methods for working with WSGI servers redux
 import sys
 
 import netaddr
+from oslo import i18n
 import six
 import webob.dec
 import webob.exc
 
 from neutron.common import exceptions
-from neutron.openstack.common import gettextutils
-from neutron.openstack.common.gettextutils import _LE, _LI
+from neutron.i18n import _LE, _LI
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import policy as common_policy
 from neutron import wsgi
@@ -173,7 +173,7 @@ def translate(translatable, locale):
     :returns: the translated object, or the object as-is if it
               was not translated
     """
-    localize = gettextutils.translate
+    localize = i18n.translate
     if isinstance(translatable, exceptions.NeutronException):
         translatable.msg = localize(translatable.msg, locale)
     elif isinstance(translatable, webob.exc.HTTPError):
index 814c20778a529f08c20f5133468303ee946f17af..06f565d4c45805d66e3954418e1f454f89db10b5 100644 (file)
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
+from oslo import i18n
 import webob.dec
 
 from neutron.api.views import versions as versions_view
-from neutron.openstack.common import gettextutils
 from neutron.openstack.common import log as logging
 from neutron import wsgi
 
@@ -43,7 +43,7 @@ class Versions(object):
         if req.path != '/':
             language = req.best_match_language()
             msg = _('Unknown API version specified')
-            msg = gettextutils.translate(msg, language)
+            msg = i18n.translate(msg, language)
             return webob.exc.HTTPNotFound(explanation=msg)
 
         builder = versions_view.get_view_builder(req)
index ee1b20e38bbf367440f21c54a3d9392acb37a1c4..d13b0f91d253406fc6762686f22af483ffd4e0f2 100644 (file)
@@ -19,7 +19,7 @@ from neutron.agent.linux import ip_link_support
 from neutron.agent.linux import ovs_lib
 from neutron.agent.linux import utils as agent_utils
 from neutron.common import utils
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants as const
 from neutron.plugins.openvswitch.common import constants as ovs_const
index 87bae80e423e1ad0a2fe3e181ec45a59d341e26a..1ab1ff57ed293bd868fd211de55efa47677d38ed 100644 (file)
@@ -17,7 +17,7 @@ import sys
 
 from neutron.cmd.sanity import checks
 from neutron.common import config
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from oslo.config import cfg
 
index e16f15a58e9ee7c3de3541dfba6d99f119b7e83a..f8bd3949fe145a4b19ea73af5d15bd191f916959 100644 (file)
@@ -26,7 +26,7 @@ from paste import deploy
 
 from neutron.api.v2 import attributes
 from neutron.common import utils
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 from neutron import version
 
index ec9168ea3646974d1b655a8a90acba4292e86a50..fe5af32dda6c1b8a0c5127e8fc5105bbf55bcbf4 100644 (file)
@@ -21,7 +21,7 @@ import os
 import netaddr
 
 from neutron.common import constants
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log
 
 
index 9f13ef487e97e50ab1fc6b1f73c682c6758e7701..2516886a42583cedf70e26bb954db9f940272cb9 100644 (file)
@@ -28,8 +28,8 @@ from sqlalchemy import sql
 from neutron.db import model_base
 from neutron.db import models_v2
 from neutron.extensions import agent as ext_agent
+from neutron.i18n import _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LW
 from neutron.openstack.common import log as logging
 
 LOG = logging.getLogger(__name__)
index e7108e2c67a30eb6a219802072863d636734f398..6f062fcafb11c3e152627a7f3fe120c38af37517 100644 (file)
@@ -32,9 +32,9 @@ from neutron.db import common_db_mixin
 from neutron.db import models_v2
 from neutron.db import sqlalchemyutils
 from neutron.extensions import l3
+from neutron.i18n import _LE, _LI
 from neutron import manager
 from neutron import neutron_plugin_base_v2
-from neutron.openstack.common.gettextutils import _LE, _LI
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import uuidutils
 from neutron.plugins.common import constants as service_constants
index e839697ac370debba2abd563d1f5464dbf845a0d..eff249fa529a92a962e6a4ac5a5cb891558f3fe6 100644 (file)
@@ -23,8 +23,8 @@ from neutron.common import utils
 from neutron.db import model_base
 from neutron.extensions import dvr as ext_dvr
 from neutron.extensions import portbindings
+from neutron.i18n import _LE
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE
 from neutron.openstack.common import log as logging
 from oslo.config import cfg
 from sqlalchemy.orm import exc
index c2308cb5a7b996e96e1d519e70ccdf2ed3363b16..5fd3d360caf7be86a64b9528754bd236bf7bace5 100644 (file)
@@ -35,8 +35,8 @@ from neutron.db import agentschedulers_db
 from neutron.db import l3_attrs_db
 from neutron.db import model_base
 from neutron.extensions import l3agentscheduler
+from neutron.i18n import _LE, _LI, _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
 
index 6a373161c3d2975bc1ae761120d48201edc77c48..014ffe3401aa3c5d1eb76d75cabda3a7bc74a14d 100644 (file)
@@ -28,8 +28,8 @@ from neutron.db import model_base
 from neutron.db import models_v2
 from neutron.extensions import external_net
 from neutron.extensions import l3
+from neutron.i18n import _LI
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LI
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import uuidutils
 from neutron.plugins.common import constants
index c4c023729aa75567e162affd9ea00275902889ea..5866fd90c87bdc919a99a29588e9b6c9e2f9bfa4 100644 (file)
@@ -24,7 +24,7 @@ from neutron.db import l3_dvrscheduler_db as l3_dvrsched_db
 from neutron.db import models_v2
 from neutron.extensions import l3
 from neutron.extensions import portbindings
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 
 
index d717b0d5d0c38e60e8d07bbdd24b1b99802c5d5e..508b3663fc82533425193c2d53a0780f1a1f568c 100644 (file)
@@ -26,7 +26,7 @@ from neutron.db import agents_db
 from neutron.db import l3_agentschedulers_db as l3agent_sch_db
 from neutron.db import model_base
 from neutron.db import models_v2
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 from neutron.plugins.ml2 import db as ml2_db
 
index 3d28f86676b66399afcc28c66f9cdd12c9bc3a21..7df53b57b810838897b8f147072cf544828758cb 100644 (file)
@@ -27,8 +27,7 @@ from neutron.db import l3_dvr_db
 from neutron.db import model_base
 from neutron.db import models_v2
 from neutron.extensions import l3_ext_ha_mode as l3_ha
-from neutron.openstack.common.gettextutils import _LI
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LI, _LW
 from neutron.openstack.common import log as logging
 
 VR_ID_RANGE = set(range(1, 255))
index 7c1935154dbe84dc6e1c5cb8c44954ea866902c2..b99abe28ee5434c40306cd3b1af65c7efa93b4c5 100644 (file)
@@ -14,8 +14,8 @@
 
 from neutron.common import constants as consts
 from neutron.common import utils
+from neutron.i18n import _LE
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants as service_constants
 
index 24de2148f048b1a353af350fe4620a551c937765..05a0f738114bec2329d06eb4d83c463d25e85f0f 100644 (file)
@@ -27,7 +27,7 @@ from sqlalchemy.sql import text
 from sqlalchemy import types
 
 from neutron.db.migration.models import frozen as frozen_models
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 
 LOG = logging.getLogger(__name__)
 
index 3eb7b2c332bd2bb47d8c59c71450cbf7aacc556b..63690ee7baa57f227cc8c8e191d2ef91dc11e29b 100644 (file)
@@ -23,7 +23,7 @@ from neutron.db import allowedaddresspairs_db as addr_pair
 from neutron.db import models_v2
 from neutron.db import securitygroups_db as sg_db
 from neutron.extensions import securitygroup as ext_sg
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 
 LOG = logging.getLogger(__name__)
index c32f984867027b35d8ae7a3db5bf66d71cd34ce9..0dec4a587e30b3ffe5a4c760723fa7ad73e318f7 100644 (file)
@@ -27,8 +27,8 @@ from neutron.db import model_base
 from neutron.db import models_v2
 from neutron.db.vpn import vpn_validator
 from neutron.extensions import vpnaas
+from neutron.i18n import _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LW
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import uuidutils
 from neutron.plugins.common import constants
index 2b321b2823f0ac113b6923987f5ecbf4cf9ef584..ac54f0ea58e3ad5f4cb9565311303e01e4545efb 100644 (file)
@@ -18,7 +18,7 @@ from neutronclient.common import utils
 from neutronclient.neutron import v2_0 as client
 from neutronclient.neutron.v2_0 import port
 
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 
 
index 175c0d40a1b27e731dd340673ad6e30376e10870..28a7f13c51f13c4f9507662c5e11d2d450825203 100644 (file)
@@ -23,7 +23,7 @@ from neutron.agent.common import config
 from neutron.agent.linux import dhcp
 from neutron.agent.linux import ip_lib
 from neutron.agent.linux import utils
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 
 
index 74a46aeaa4c36b2b2d92d2bff30c8c4003f80a3f..d8e27aaf5668ebd0d337367a143666830b4e0ea1 100644 (file)
@@ -24,8 +24,8 @@ from neutron.common import constants
 from neutron.common import exceptions
 from neutron.common import rpc as n_rpc
 from neutron.extensions import agent
+from neutron.i18n import _LE
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants as service_constants
 from neutron import policy
diff --git a/neutron/i18n.py b/neutron/i18n.py
new file mode 100644 (file)
index 0000000..bdfe8bf
--- /dev/null
@@ -0,0 +1,30 @@
+# All Rights Reserved.
+#
+#    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.
+
+from oslo import i18n
+
+_translators = i18n.TranslatorFactory(domain='neutron')
+
+# The primary translation function using the well-known name "_"
+_ = _translators.primary
+
+# Translators for log levels.
+#
+# The abbreviated names are meant to reflect the usual use of a short
+# name like '_'. The "L" is for "log" and the other letter comes from
+# the level.
+_LI = _translators.log_info
+_LW = _translators.log_warning
+_LE = _translators.log_error
+_LC = _translators.log_critical
index a778a2a5eb494d8d6dff5f65f6a4cc8615939959..0496195d006f053a361d4d99bc6ef192b36c5a00 100644 (file)
@@ -22,8 +22,8 @@ from sqlalchemy.orm import attributes as sql_attr
 
 from neutron.common import constants
 from neutron import context
+from neutron.i18n import _LE, _LI, _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import uuidutils
 
diff --git a/neutron/openstack/common/gettextutils.py b/neutron/openstack/common/gettextutils.py
deleted file mode 100644 (file)
index 1ec1499..0000000
+++ /dev/null
@@ -1,498 +0,0 @@
-# Copyright 2012 Red Hat, Inc.
-# Copyright 2013 IBM Corp.
-# All Rights Reserved.
-#
-#    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.
-
-"""
-gettext for openstack-common modules.
-
-Usual usage in an openstack.common module:
-
-    from neutron.openstack.common.gettextutils import _
-"""
-
-import copy
-import functools
-import gettext
-import locale
-from logging import handlers
-import os
-
-from babel import localedata
-import six
-
-_AVAILABLE_LANGUAGES = {}
-
-# FIXME(dhellmann): Remove this when moving to oslo.i18n.
-USE_LAZY = False
-
-
-class TranslatorFactory(object):
-    """Create translator functions
-    """
-
-    def __init__(self, domain, lazy=False, localedir=None):
-        """Establish a set of translation functions for the domain.
-
-        :param domain: Name of translation domain,
-                       specifying a message catalog.
-        :type domain: str
-        :param lazy: Delays translation until a message is emitted.
-                     Defaults to False.
-        :type lazy: Boolean
-        :param localedir: Directory with translation catalogs.
-        :type localedir: str
-        """
-        self.domain = domain
-        self.lazy = lazy
-        if localedir is None:
-            localedir = os.environ.get(domain.upper() + '_LOCALEDIR')
-        self.localedir = localedir
-
-    def _make_translation_func(self, domain=None):
-        """Return a new translation function ready for use.
-
-        Takes into account whether or not lazy translation is being
-        done.
-
-        The domain can be specified to override the default from the
-        factory, but the localedir from the factory is always used
-        because we assume the log-level translation catalogs are
-        installed in the same directory as the main application
-        catalog.
-
-        """
-        if domain is None:
-            domain = self.domain
-        if self.lazy:
-            return functools.partial(Message, domain=domain)
-        t = gettext.translation(
-            domain,
-            localedir=self.localedir,
-            fallback=True,
-        )
-        if six.PY3:
-            return t.gettext
-        return t.ugettext
-
-    @property
-    def primary(self):
-        "The default translation function."
-        return self._make_translation_func()
-
-    def _make_log_translation_func(self, level):
-        return self._make_translation_func(self.domain + '-log-' + level)
-
-    @property
-    def log_info(self):
-        "Translate info-level log messages."
-        return self._make_log_translation_func('info')
-
-    @property
-    def log_warning(self):
-        "Translate warning-level log messages."
-        return self._make_log_translation_func('warning')
-
-    @property
-    def log_error(self):
-        "Translate error-level log messages."
-        return self._make_log_translation_func('error')
-
-    @property
-    def log_critical(self):
-        "Translate critical-level log messages."
-        return self._make_log_translation_func('critical')
-
-
-# NOTE(dhellmann): When this module moves out of the incubator into
-# oslo.i18n, these global variables can be moved to an integration
-# module within each application.
-
-# Create the global translation functions.
-_translators = TranslatorFactory('neutron')
-
-# The primary translation function using the well-known name "_"
-_ = _translators.primary
-
-# Translators for log levels.
-#
-# The abbreviated names are meant to reflect the usual use of a short
-# name like '_'. The "L" is for "log" and the other letter comes from
-# the level.
-_LI = _translators.log_info
-_LW = _translators.log_warning
-_LE = _translators.log_error
-_LC = _translators.log_critical
-
-# NOTE(dhellmann): End of globals that will move to the application's
-# integration module.
-
-
-def enable_lazy():
-    """Convenience function for configuring _() to use lazy gettext
-
-    Call this at the start of execution to enable the gettextutils._
-    function to use lazy gettext functionality. This is useful if
-    your project is importing _ directly instead of using the
-    gettextutils.install() way of importing the _ function.
-    """
-    # FIXME(dhellmann): This function will be removed in oslo.i18n,
-    # because the TranslatorFactory makes it superfluous.
-    global _, _LI, _LW, _LE, _LC, USE_LAZY
-    tf = TranslatorFactory('neutron', lazy=True)
-    _ = tf.primary
-    _LI = tf.log_info
-    _LW = tf.log_warning
-    _LE = tf.log_error
-    _LC = tf.log_critical
-    USE_LAZY = True
-
-
-def install(domain, lazy=False):
-    """Install a _() function using the given translation domain.
-
-    Given a translation domain, install a _() function using gettext's
-    install() function.
-
-    The main difference from gettext.install() is that we allow
-    overriding the default localedir (e.g. /usr/share/locale) using
-    a translation-domain-specific environment variable (e.g.
-    NOVA_LOCALEDIR).
-
-    :param domain: the translation domain
-    :param lazy: indicates whether or not to install the lazy _() function.
-                 The lazy _() introduces a way to do deferred translation
-                 of messages by installing a _ that builds Message objects,
-                 instead of strings, which can then be lazily translated into
-                 any available locale.
-    """
-    if lazy:
-        from six import moves
-        tf = TranslatorFactory(domain, lazy=True)
-        moves.builtins.__dict__['_'] = tf.primary
-    else:
-        localedir = '%s_LOCALEDIR' % domain.upper()
-        if six.PY3:
-            gettext.install(domain,
-                            localedir=os.environ.get(localedir))
-        else:
-            gettext.install(domain,
-                            localedir=os.environ.get(localedir),
-                            unicode=True)
-
-
-class Message(six.text_type):
-    """A Message object is a unicode object that can be translated.
-
-    Translation of Message is done explicitly using the translate() method.
-    For all non-translation intents and purposes, a Message is simply unicode,
-    and can be treated as such.
-    """
-
-    def __new__(cls, msgid, msgtext=None, params=None,
-                domain='neutron', *args):
-        """Create a new Message object.
-
-        In order for translation to work gettext requires a message ID, this
-        msgid will be used as the base unicode text. It is also possible
-        for the msgid and the base unicode text to be different by passing
-        the msgtext parameter.
-        """
-        # If the base msgtext is not given, we use the default translation
-        # of the msgid (which is in English) just in case the system locale is
-        # not English, so that the base text will be in that locale by default.
-        if not msgtext:
-            msgtext = Message._translate_msgid(msgid, domain)
-        # We want to initialize the parent unicode with the actual object that
-        # would have been plain unicode if 'Message' was not enabled.
-        msg = super(Message, cls).__new__(cls, msgtext)
-        msg.msgid = msgid
-        msg.domain = domain
-        msg.params = params
-        return msg
-
-    def translate(self, desired_locale=None):
-        """Translate this message to the desired locale.
-
-        :param desired_locale: The desired locale to translate the message to,
-                               if no locale is provided the message will be
-                               translated to the system's default locale.
-
-        :returns: the translated message in unicode
-        """
-
-        translated_message = Message._translate_msgid(self.msgid,
-                                                      self.domain,
-                                                      desired_locale)
-        if self.params is None:
-            # No need for more translation
-            return translated_message
-
-        # This Message object may have been formatted with one or more
-        # Message objects as substitution arguments, given either as a single
-        # argument, part of a tuple, or as one or more values in a dictionary.
-        # When translating this Message we need to translate those Messages too
-        translated_params = _translate_args(self.params, desired_locale)
-
-        translated_message = translated_message % translated_params
-
-        return translated_message
-
-    @staticmethod
-    def _translate_msgid(msgid, domain, desired_locale=None):
-        if not desired_locale:
-            system_locale = locale.getdefaultlocale()
-            # If the system locale is not available to the runtime use English
-            if not system_locale[0]:
-                desired_locale = 'en_US'
-            else:
-                desired_locale = system_locale[0]
-
-        locale_dir = os.environ.get(domain.upper() + '_LOCALEDIR')
-        lang = gettext.translation(domain,
-                                   localedir=locale_dir,
-                                   languages=[desired_locale],
-                                   fallback=True)
-        if six.PY3:
-            translator = lang.gettext
-        else:
-            translator = lang.ugettext
-
-        translated_message = translator(msgid)
-        return translated_message
-
-    def __mod__(self, other):
-        # When we mod a Message we want the actual operation to be performed
-        # by the parent class (i.e. unicode()), the only thing  we do here is
-        # save the original msgid and the parameters in case of a translation
-        params = self._sanitize_mod_params(other)
-        unicode_mod = super(Message, self).__mod__(params)
-        modded = Message(self.msgid,
-                         msgtext=unicode_mod,
-                         params=params,
-                         domain=self.domain)
-        return modded
-
-    def _sanitize_mod_params(self, other):
-        """Sanitize the object being modded with this Message.
-
-        - Add support for modding 'None' so translation supports it
-        - Trim the modded object, which can be a large dictionary, to only
-        those keys that would actually be used in a translation
-        - Snapshot the object being modded, in case the message is
-        translated, it will be used as it was when the Message was created
-        """
-        if other is None:
-            params = (other,)
-        elif isinstance(other, dict):
-            # Merge the dictionaries
-            # Copy each item in case one does not support deep copy.
-            params = {}
-            if isinstance(self.params, dict):
-                for key, val in self.params.items():
-                    params[key] = self._copy_param(val)
-            for key, val in other.items():
-                params[key] = self._copy_param(val)
-        else:
-            params = self._copy_param(other)
-        return params
-
-    def _copy_param(self, param):
-        try:
-            return copy.deepcopy(param)
-        except Exception:
-            # Fallback to casting to unicode this will handle the
-            # python code-like objects that can't be deep-copied
-            return six.text_type(param)
-
-    def __add__(self, other):
-        msg = _('Message objects do not support addition.')
-        raise TypeError(msg)
-
-    def __radd__(self, other):
-        return self.__add__(other)
-
-    if six.PY2:
-        def __str__(self):
-            # NOTE(luisg): Logging in python 2.6 tries to str() log records,
-            # and it expects specifically a UnicodeError in order to proceed.
-            msg = _('Message objects do not support str() because they may '
-                    'contain non-ascii characters. '
-                    'Please use unicode() or translate() instead.')
-            raise UnicodeError(msg)
-
-
-def get_available_languages(domain):
-    """Lists the available languages for the given translation domain.
-
-    :param domain: the domain to get languages for
-    """
-    if domain in _AVAILABLE_LANGUAGES:
-        return copy.copy(_AVAILABLE_LANGUAGES[domain])
-
-    localedir = '%s_LOCALEDIR' % domain.upper()
-    find = lambda x: gettext.find(domain,
-                                  localedir=os.environ.get(localedir),
-                                  languages=[x])
-
-    # NOTE(mrodden): en_US should always be available (and first in case
-    # order matters) since our in-line message strings are en_US
-    language_list = ['en_US']
-    # NOTE(luisg): Babel <1.0 used a function called list(), which was
-    # renamed to locale_identifiers() in >=1.0, the requirements master list
-    # requires >=0.9.6, uncapped, so defensively work with both. We can remove
-    # this check when the master list updates to >=1.0, and update all projects
-    list_identifiers = (getattr(localedata, 'list', None) or
-                        getattr(localedata, 'locale_identifiers'))
-    locale_identifiers = list_identifiers()
-
-    for i in locale_identifiers:
-        if find(i) is not None:
-            language_list.append(i)
-
-    # NOTE(luisg): Babel>=1.0,<1.3 has a bug where some OpenStack supported
-    # locales (e.g. 'zh_CN', and 'zh_TW') aren't supported even though they
-    # are perfectly legitimate locales:
-    #     https://github.com/mitsuhiko/babel/issues/37
-    # In Babel 1.3 they fixed the bug and they support these locales, but
-    # they are still not explicitly "listed" by locale_identifiers().
-    # That is  why we add the locales here explicitly if necessary so that
-    # they are listed as supported.
-    aliases = {'zh': 'zh_CN',
-               'zh_Hant_HK': 'zh_HK',
-               'zh_Hant': 'zh_TW',
-               'fil': 'tl_PH'}
-    for (locale_, alias) in six.iteritems(aliases):
-        if locale_ in language_list and alias not in language_list:
-            language_list.append(alias)
-
-    _AVAILABLE_LANGUAGES[domain] = language_list
-    return copy.copy(language_list)
-
-
-def translate(obj, desired_locale=None):
-    """Gets the translated unicode representation of the given object.
-
-    If the object is not translatable it is returned as-is.
-    If the locale is None the object is translated to the system locale.
-
-    :param obj: the object to translate
-    :param desired_locale: the locale to translate the message to, if None the
-                           default system locale will be used
-    :returns: the translated object in unicode, or the original object if
-              it could not be translated
-    """
-    message = obj
-    if not isinstance(message, Message):
-        # If the object to translate is not already translatable,
-        # let's first get its unicode representation
-        message = six.text_type(obj)
-    if isinstance(message, Message):
-        # Even after unicoding() we still need to check if we are
-        # running with translatable unicode before translating
-        return message.translate(desired_locale)
-    return obj
-
-
-def _translate_args(args, desired_locale=None):
-    """Translates all the translatable elements of the given arguments object.
-
-    This method is used for translating the translatable values in method
-    arguments which include values of tuples or dictionaries.
-    If the object is not a tuple or a dictionary the object itself is
-    translated if it is translatable.
-
-    If the locale is None the object is translated to the system locale.
-
-    :param args: the args to translate
-    :param desired_locale: the locale to translate the args to, if None the
-                           default system locale will be used
-    :returns: a new args object with the translated contents of the original
-    """
-    if isinstance(args, tuple):
-        return tuple(translate(v, desired_locale) for v in args)
-    if isinstance(args, dict):
-        translated_dict = {}
-        for (k, v) in six.iteritems(args):
-            translated_v = translate(v, desired_locale)
-            translated_dict[k] = translated_v
-        return translated_dict
-    return translate(args, desired_locale)
-
-
-class TranslationHandler(handlers.MemoryHandler):
-    """Handler that translates records before logging them.
-
-    The TranslationHandler takes a locale and a target logging.Handler object
-    to forward LogRecord objects to after translating them. This handler
-    depends on Message objects being logged, instead of regular strings.
-
-    The handler can be configured declaratively in the logging.conf as follows:
-
-        [handlers]
-        keys = translatedlog, translator
-
-        [handler_translatedlog]
-        class = handlers.WatchedFileHandler
-        args = ('/var/log/api-localized.log',)
-        formatter = context
-
-        [handler_translator]
-        class = openstack.common.log.TranslationHandler
-        target = translatedlog
-        args = ('zh_CN',)
-
-    If the specified locale is not available in the system, the handler will
-    log in the default locale.
-    """
-
-    def __init__(self, locale=None, target=None):
-        """Initialize a TranslationHandler
-
-        :param locale: locale to use for translating messages
-        :param target: logging.Handler object to forward
-                       LogRecord objects to after translation
-        """
-        # NOTE(luisg): In order to allow this handler to be a wrapper for
-        # other handlers, such as a FileHandler, and still be able to
-        # configure it using logging.conf, this handler has to extend
-        # MemoryHandler because only the MemoryHandlers' logging.conf
-        # parsing is implemented such that it accepts a target handler.
-        handlers.MemoryHandler.__init__(self, capacity=0, target=target)
-        self.locale = locale
-
-    def setFormatter(self, fmt):
-        self.target.setFormatter(fmt)
-
-    def emit(self, record):
-        # We save the message from the original record to restore it
-        # after translation, so other handlers are not affected by this
-        original_msg = record.msg
-        original_args = record.args
-
-        try:
-            self._translate_and_log_record(record)
-        finally:
-            record.msg = original_msg
-            record.args = original_args
-
-    def _translate_and_log_record(self, record):
-        record.msg = translate(record.msg, self.locale)
-
-        # In addition to translating the message, we also need to translate
-        # arguments that were passed to the log method that were not part
-        # of the main message e.g., log.info(_('Some message %s'), this_one))
-        record.args = _translate_args(record.args, self.locale)
-
-        self.target.emit(record)
index ef443ca08c077d36f69480667bea867ddb5e2f67..bc6cdc90aee197f824d91e4383d73a1cc507efe0 100644 (file)
@@ -23,7 +23,7 @@ from oslo.db.sqlalchemy import session
 import sqlalchemy as sa
 
 from neutron.db import model_base
-from neutron.openstack.common.gettextutils import _LI, _LW
+from neutron.i18n import _LI, _LW
 from neutron.openstack.common import log as logging
 
 LOG = logging.getLogger(__name__)
index 3b600117cc8e90223d1cf124414a06201578f46c..5535e598659b0dccf00a05b668f3a6474adc0338 100644 (file)
@@ -31,13 +31,13 @@ from neutron.common import config as common_config
 from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron import context as n_context
+from neutron.i18n import _LE, _LI, _LW
 from neutron import manager
 from neutron.openstack.common import lockutils
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
 from neutron.openstack.common import periodic_task
 from neutron.openstack.common import service
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.plugins.cisco.cfg_agent import device_status
 from neutron.plugins.cisco.common import cisco_constants as c_constants
 from neutron import service as neutron_service
index fd328117f0735df51b27f656966b59891e01b31c..6e80b71d26348ece3bd9324ca81de73bc1c9030c 100644 (file)
@@ -23,7 +23,7 @@ from ncclient import manager
 
 from oslo.config import cfg
 
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
+from neutron.i18n import _LE, _LI, _LW
 from neutron.plugins.cisco.cfg_agent import cfg_exceptions as cfg_exc
 from neutron.plugins.cisco.cfg_agent.device_drivers.csr1kv import (
     cisco_csr1kv_snippets as snippets)
index e74876ca0299cc7f430e4b9dca2d2f95fdc70e07..6d59199a475170a41b00b93430501277704c0524 100644 (file)
@@ -15,7 +15,7 @@
 from oslo.utils import excutils
 from oslo.utils import importutils
 
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from neutron.plugins.cisco.cfg_agent import cfg_exceptions
 
index b6721eca55c0f2b8f2c453b42600b2bd23d97228..2d44908b0135651b709ee5c4a2945f753eb04291 100644 (file)
@@ -18,8 +18,8 @@ from oslo.config import cfg
 from oslo.utils import timeutils
 
 from neutron.agent.linux import utils as linux_utils
+from neutron.i18n import _LI, _LW
 from neutron.openstack.common import log as logging
-from neutron.openstack.common.gettextutils import _LI, _LW
 
 
 LOG = logging.getLogger(__name__)
index fadab29de95e573737a30f7051b606628336e621..ffce42e15fa6416c718f6522c4cdc206b39cf8d5 100644 (file)
@@ -24,8 +24,8 @@ from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron.common import utils as common_utils
 from neutron import context as n_context
+from neutron.i18n import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.plugins.cisco.cfg_agent import cfg_exceptions
 from neutron.plugins.cisco.cfg_agent.device_drivers import driver_mgr
 from neutron.plugins.cisco.cfg_agent import device_status
index 6eb0730addb8138976d023071141b5e241c511dd..1fe911575a71a3fb24947829c0f2c1d5105d4cf9 100644 (file)
@@ -26,10 +26,10 @@ from neutron.common import exceptions as n_exc
 from neutron.common import utils
 from neutron import context as neutron_context
 from neutron.db import agents_db
+from neutron.i18n import _LE, _LI, _LW
 from neutron import manager
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import uuidutils
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.plugins.cisco.common import cisco_constants as c_constants
 from neutron.plugins.cisco.db.l3 import l3_models
 from neutron.plugins.cisco.l3 import service_vm_lib
index e97523781d312ece0a40da6b163dee68baa4d44e..7d0c619ce6e729b83e9f70d019622848f9be2dc5 100644 (file)
@@ -30,7 +30,7 @@ from neutron.db import l3_db
 from neutron.db import models_v2
 from neutron.db import portbindings_db as p_binding
 from neutron.extensions import providernet as pr_net
-from neutron.openstack.common.gettextutils import _LE, _LI
+from neutron.i18n import _LE, _LI
 from neutron.openstack.common import lockutils
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
index e87d2552b1ff4e890c4e7d64da584ca8b1a4c9ec..fe6443ed95f3bcf0338c4b0d0c73292844401d5b 100644 (file)
@@ -22,7 +22,7 @@ from neutron.common import constants
 from neutron.common import exceptions as n_exc
 import neutron.db.api as db
 from neutron.db import models_v2
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 from neutron.plugins.cisco.common import cisco_constants as c_const
 from neutron.plugins.cisco.common import cisco_exceptions as c_exc
index 1cb36e826d78017f43af57c2454b9f51428e15e7..57e8b7ef1f8f07b8f9b4192934ac567f40191b20 100644 (file)
@@ -16,8 +16,8 @@ import netaddr
 
 from oslo.config import cfg
 
+from neutron.i18n import _LE
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE
 from neutron.openstack.common import log as logging
 from neutron.plugins.cisco.l3 import hosting_device_drivers
 
index e73251756ee14120cc7b794cfe93a5ba1f9063d6..ce727180a13877735ac0bf85ad60b80d5f059883 100644 (file)
@@ -23,9 +23,9 @@ from neutron.common import exceptions as n_exc
 from neutron import context as n_context
 from neutron.db import models_v2
 from neutron.extensions import providernet as pr_net
+from neutron.i18n import _LE, _LI, _LW
 from neutron import manager
 from neutron.openstack.common import log as logging
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.plugins.cisco.db.l3 import l3_models
 from neutron.plugins.cisco.extensions import n1kv
 import neutron.plugins.cisco.l3.plugging_drivers as plug
index 095aa54637850b776331524bf56b86e4bcb64f29..128bf99ee5c9a27d7ac3a13c41e5a1295892e64d 100644 (file)
@@ -17,8 +17,8 @@ from novaclient import utils as n_utils
 from novaclient.v1_1 import client
 from oslo.config import cfg
 
+from neutron.i18n import _LE
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE
 from neutron.openstack.common import log as logging
 from neutron.plugins.cisco.common import cisco_constants as c_constants
 
index 91fd1a13692c2e0e2630d7dcd262303cbe64d97e..a6d7b47441f51c492b8d033d70051f908f6d8381 100644 (file)
@@ -21,8 +21,8 @@ from oslo.utils import importutils
 from neutron.api.v2 import attributes
 from neutron.extensions import portbindings
 from neutron.extensions import providernet as provider
+from neutron.i18n import _LE, _LI
 from neutron import neutron_plugin_base_v2
-from neutron.openstack.common.gettextutils import _LE, _LI
 from neutron.openstack.common import log as logging
 from neutron.plugins.cisco.common import cisco_constants as const
 from neutron.plugins.cisco.common import cisco_credentials_v2 as cred
index 947fdebb4d1ffadd99d31058298b33c5112b7cfe..22bcf17e6c998781798eeb491b8a606674d93981 100644 (file)
@@ -35,8 +35,8 @@ from neutron.db import portbindings_db
 from neutron.db import quota_db
 from neutron.extensions import portbindings
 from neutron.extensions import providernet
+from neutron.i18n import _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LW
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import uuidutils as uuidutils
 from neutron.plugins.cisco.common import cisco_constants as c_const
index 3617d7ecc35e827c0d309af327e0f908149100a5..ea53a4232ebb306986db68b70148b46401332751 100755 (executable)
@@ -41,7 +41,7 @@ from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron.common import utils as q_utils
 from neutron import context
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
+from neutron.i18n import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
 from neutron.plugins.common import constants as p_const
index dfd6f710f082c6be7c4a06ac7a371c14b0bdbc5e..7f8dbdcad676b1ffbaa9133db711b78f3f36c26a 100644 (file)
@@ -25,8 +25,8 @@ from neutron.db import api as db_api
 from neutron.db import models_v2
 from neutron.db import securitygroups_db as sg_db
 from neutron.extensions import portbindings
+from neutron.i18n import _LE, _LI
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE, _LI
 from neutron.openstack.common import log
 from neutron.openstack.common import uuidutils
 from neutron.plugins.ml2 import driver_api as api
index 293dabb067e4e774e1bf034d1e5092dc47353150..dd54e0ed22ac0a04808f9b99e36c67b70e7df8a5 100644 (file)
@@ -21,7 +21,7 @@ from oslo.config import cfg
 
 from neutron import context as nctx
 from neutron.db import db_base_plugin_v2
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 from neutron.plugins.ml2.drivers.arista import exceptions as arista_exc
 
index 1b4396a223c9c96fdfc49e868ddea30108aa9fc1..7e76c6ebb7ae2cdeac7d1948373bce90d3440267 100644 (file)
@@ -20,7 +20,7 @@ import jsonrpclib
 from oslo.config import cfg
 
 from neutron.common import constants as n_const
-from neutron.openstack.common.gettextutils import _LI, _LW
+from neutron.i18n import _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron.plugins.ml2.common import exceptions as ml2_exc
 from neutron.plugins.ml2 import driver_api
index e0b027bfc4b3250f4c1ad96b23e06b9c92971797..24652d243af16cf8c663fc434fa7ee52b5cf4c11 100644 (file)
@@ -19,7 +19,7 @@
 from oslo.config import cfg
 from oslo.utils import importutils
 
-from neutron.openstack.common.gettextutils import _LE, _LI
+from neutron.i18n import _LE, _LI
 from neutron.openstack.common import log as logging
 from neutron.plugins.ml2 import driver_api
 from neutron.plugins.ml2.drivers.brocade.db import models as brocade_db
index afa41672c4347d4d5abd08eee29ef5a15987db38..617c96bd17a68b3fb76312be023598f5f321d417 100644 (file)
@@ -22,7 +22,7 @@ from ncclient import manager
 from oslo.utils import excutils
 from xml.etree import ElementTree
 
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from neutron.plugins.ml2.drivers.brocade.nos import nctemplates as template
 
index 6a5ac161712e97025e6e42a67d62d3ad3b3b14a4..83735aae387f49c0825f25dcc596a8113a4d72ae 100644 (file)
@@ -15,8 +15,8 @@
 
 from neutron.common import constants as n_constants
 from neutron import context
+from neutron.i18n import _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LW
 from neutron.openstack.common import log
 from neutron.openstack.common import loopingcall
 from neutron.plugins.ml2 import db as l2_db
index b75c76cd69e822816ea395909143d4be7bc07686..56978b3f2e740e313aa807eaf5a94f2baba81f3a 100644 (file)
@@ -30,8 +30,8 @@ from neutron.common import config as common_cfg
 from neutron.common import rpc
 from neutron.common import utils as neutron_utils
 from neutron.db import agents_db
+from neutron.i18n import _LE, _LI
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE, _LI
 from neutron.openstack.common import lockutils
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import periodic_task
index 88c3e783d00a998d5e155e36d9ae6c811263fd93..467434c1cd2f8e5ef2100e60e73b76ad1d0d1b57 100644 (file)
@@ -17,7 +17,7 @@
 import sqlalchemy.orm.exc as sa_exc
 
 import neutron.db.api as db
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 from neutron.plugins.ml2.drivers.cisco.nexus import exceptions as c_exc
 from neutron.plugins.ml2.drivers.cisco.nexus import nexus_models_v2
index 109227502e2b9cb1f432fa46bd525e5c878cdf44..5a0e5a506cc70035da05cc44b301dc994ab4906b 100755 (executable)
@@ -16,7 +16,7 @@
 from neutron.common import constants as n_const
 from neutron.common import log
 from neutron.extensions import portbindings
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants
 from neutron.plugins.ml2 import driver_api as api
index 1430b3553e26f4a5d0a106c6504e89f445ad01f0..5730053bba9cc94b561d6b12daac72143a0d5860 100644 (file)
@@ -16,7 +16,7 @@
 from oslo.db import exception as db_exc
 
 from neutron.common import exceptions as exc
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log
 from neutron.plugins.ml2 import driver_api as api
 
index 8a7655e123d986b66340da1bdd14485badc556af..4e3696386f3cbaba719c1c35f7a5b3c23eed7c9d 100644 (file)
@@ -18,7 +18,7 @@ from oslo.config import cfg
 from neutron.common import constants as const
 from neutron import context as n_context
 from neutron.db import api as db_api
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 from neutron.plugins.ml2 import driver_api as api
 from neutron.plugins.ml2.drivers.l2pop import config  # noqa
index f95243c599827755d67f3bff6a056ebd6ee1d1c1..4e9b55434bb5defcecace6ac2859c964d48e36a4 100644 (file)
@@ -17,7 +17,7 @@ import abc
 import six
 
 from neutron.extensions import portbindings
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log
 from neutron.plugins.ml2 import driver_api as api
 
index e292b33f89b52aa50c5d9b71febd419ac6fb7e59..39f6c80a4420e6f94b80b1f0438d6c4e6cdc1add 100644 (file)
@@ -23,7 +23,7 @@ from oslo.utils import timeutils
 
 from neutron import context as ctx
 from neutron.extensions import portbindings
-from neutron.openstack.common.gettextutils import _LE, _LW
+from neutron.i18n import _LE, _LW
 from neutron.openstack.common import log
 from neutron.plugins.bigswitch import config as pl_config
 from neutron.plugins.bigswitch import plugin
index 272b82e72e03ccfec4ee6c220ac255ec3742bedc..b83e30728582a2e1416b571a35beb328c0a515ef 100644 (file)
@@ -17,7 +17,7 @@ from oslo.config import cfg
 
 from neutron.common import constants as n_consts
 from neutron.extensions import portbindings
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log
 from neutron.plugins.common import constants
 from neutron.plugins.ml2 import driver_api as api
index c7eeb13ea997ae2297ae10c9ecc885ed0d34c7bb..577ba57bda8f2c5e489826d6478d3d68a8eebf54 100644 (file)
@@ -18,7 +18,7 @@ from oslo.config import cfg
 
 from neutron.common import constants
 from neutron.extensions import portbindings
-from neutron.openstack.common.gettextutils import _LE, _LW
+from neutron.i18n import _LE, _LW
 from neutron.openstack.common import log
 from neutron.plugins.common import constants as p_const
 from neutron.plugins.ml2 import driver_api as api
index bc64661bc65eab6b6c3bcd963543a6546e1d9e76..bb675971352366b83bcdb879d7dcb62643886d51 100644 (file)
@@ -19,7 +19,7 @@ import sqlalchemy as sa
 
 from neutron.common import exceptions as exc
 from neutron.db import model_base
-from neutron.openstack.common.gettextutils import _LI, _LW
+from neutron.i18n import _LI, _LW
 from neutron.openstack.common import log
 from neutron.plugins.common import constants as p_const
 from neutron.plugins.ml2 import driver_api as api
index 625c5d5f48d95e136b3eaf3ad159e3382b727a9e..c0565b53391f4165a67e65c4c954781a694fe15f 100644 (file)
@@ -22,7 +22,7 @@ from sqlalchemy import sql
 from neutron.common import exceptions as exc
 from neutron.db import api as db_api
 from neutron.db import model_base
-from neutron.openstack.common.gettextutils import _LE, _LW
+from neutron.i18n import _LE, _LW
 from neutron.openstack.common import log
 from neutron.plugins.common import constants as p_const
 from neutron.plugins.ml2.drivers import type_tunnel
index 5a72cf0e3039105134fe0a621e9ba7e34d1c375f..f935cc09aa5c05cbe6ae6129017051f28860356a 100644 (file)
@@ -14,7 +14,7 @@
 #    under the License.
 
 from neutron.common import exceptions as exc
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log
 from neutron.plugins.common import constants as p_const
 from neutron.plugins.ml2 import driver_api as api
index b09c5a549887cb381f86f48b718c040ccc523435..b6f34eaa58ed9892ae2dfb70e5410b55e946396c 100644 (file)
@@ -16,7 +16,7 @@ import abc
 
 from neutron.common import exceptions as exc
 from neutron.common import topics
-from neutron.openstack.common.gettextutils import _LI, _LW
+from neutron.i18n import _LI, _LW
 from neutron.openstack.common import log
 from neutron.plugins.common import utils as plugin_utils
 from neutron.plugins.ml2 import driver_api as api
index 48c617811539367ccbf732cab98dff37e1fb7463..8853b846fd8ac72fc5c74951704660af08250f86 100644 (file)
@@ -24,7 +24,7 @@ from neutron.common import exceptions as exc
 from neutron.common import utils
 from neutron.db import api as db_api
 from neutron.db import model_base
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
+from neutron.i18n import _LE, _LI, _LW
 from neutron.openstack.common import log
 from neutron.plugins.common import constants as p_const
 from neutron.plugins.common import utils as plugin_utils
index 0617f5dc2bd1e859cfca4d4a87b5a0b692e75622..834cd6b9b4c672219fa65c20eac1143bcd7f74ad 100644 (file)
@@ -22,7 +22,7 @@ from sqlalchemy import sql
 from neutron.common import exceptions as exc
 from neutron.db import api as db_api
 from neutron.db import model_base
-from neutron.openstack.common.gettextutils import _LE, _LW
+from neutron.i18n import _LE, _LW
 from neutron.openstack.common import log
 from neutron.plugins.common import constants as p_const
 from neutron.plugins.ml2.drivers import type_tunnel
index 62e859a81ca8b87f21cca4a81c9a49b2cf576b4d..60d87960ea919299e76ad93f1e7a5ff712dac10d 100644 (file)
@@ -21,7 +21,7 @@ from neutron.common import exceptions as exc
 from neutron.extensions import multiprovidernet as mpnet
 from neutron.extensions import portbindings
 from neutron.extensions import providernet as provider
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
+from neutron.i18n import _LE, _LI, _LW
 from neutron.openstack.common import log
 from neutron.plugins.ml2.common import exceptions as ml2_exc
 from neutron.plugins.ml2 import db
index c7587bf3adf7d0435c1d04da27d058d17ca486b4..380141d2e5f5b5045e143f0f5f037dc475c6894c 100644 (file)
@@ -53,8 +53,8 @@ from neutron.extensions import extra_dhcp_opt as edo_ext
 from neutron.extensions import l3agentscheduler
 from neutron.extensions import portbindings
 from neutron.extensions import providernet as provider
+from neutron.i18n import _LE, _LI, _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.openstack.common import lockutils
 from neutron.openstack.common import log
 from neutron.openstack.common import uuidutils
index 96b86e0acf763125b7bae68b81061797d8ffcc79..72fc955d17fba3a7abacd926802f8c8517db0f4c 100644 (file)
@@ -21,8 +21,8 @@ from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron.common import utils
 from neutron.extensions import portbindings
+from neutron.i18n import _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LW
 from neutron.openstack.common import log
 from neutron.plugins.common import constants as service_constants
 from neutron.plugins.ml2 import driver_api as api
index 3bae841fe3e431486aa24f8f7b411bc603c023e2..3595f04017163d3f3e1a88625303d71f46df11b7 100644 (file)
@@ -31,7 +31,7 @@ from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron.common import utils as q_utils
 from neutron import context
-from neutron.openstack.common.gettextutils import _LE, _LI
+from neutron.i18n import _LE, _LI
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
 from neutron.plugins.common import constants as p_const
index 517dcedcbfff69ce2e35d4f8786ca3347a695c8f..13512f7c601d140e57f3510160a964b68cd8cf4d 100644 (file)
@@ -21,8 +21,8 @@ from neutron import context as ncontext
 from neutron.db import db_base_plugin_v2
 from neutron.db import extraroute_db
 from neutron.db import securitygroups_db
+from neutron.i18n import _LE, _LI, _LW
 from neutron.openstack.common import log
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.plugins.nuage.common import config
 from neutron.plugins.nuage import nuagedb
 
index c6ceea71a26176445a9fbd181f0f60877e67f742..7747477cb3fbd10b52029af71b74ae4510d324e8 100644 (file)
@@ -23,7 +23,7 @@ from ryu.lib.packet import packet
 from ryu.lib.packet import vlan
 
 from neutron.common import log
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 import neutron.plugins.ofagent.agent.metadata as meta
 
index f311b0597599067f06c37454172f25219735c6ca..0a4c1980c762fcac752b2e60d60b363476c4a4a9 100644 (file)
@@ -42,7 +42,7 @@ from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron.common import utils as n_utils
 from neutron import context
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
+from neutron.i18n import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
 from neutron.plugins.common import constants as p_const
index 4bf603f2479bfec339447265a9cc7b87ec850119..cd53e2a586e6d7ef347a8fe9f9e4876e8b958721 100644 (file)
@@ -20,7 +20,7 @@ from oslo.utils import excutils
 from neutron.api.rpc.handlers import dvr_rpc
 from neutron.common import constants as n_const
 from neutron.common import utils as n_utils
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
+from neutron.i18n import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron.plugins.openvswitch.common import constants
 
index 34f1ce17d45aa9818993ad5fdda2a0acf27c9487..c0efdf67e2358079e044ad5d6087ca835af5eb1b 100644 (file)
@@ -42,9 +42,9 @@ from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron.common import utils as q_utils
 from neutron import context
+from neutron.i18n import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.plugins.common import constants as p_const
 from neutron.plugins.openvswitch.common import constants
 
index c28a940d0e02cffcea2a94b399c53e91956f08d8..c4528309ca5b35d34fc5348cc54bb023ff149024 100644 (file)
@@ -51,7 +51,7 @@ from neutron.extensions import portbindings as pbin
 from neutron.extensions import portsecurity as psec
 from neutron.extensions import providernet as pnet
 from neutron.extensions import securitygroup as ext_sg
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import lockutils
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants as plugin_const
index de64cc943fd1876e21f724c4a246fd4935de0bd6..6504b67233e71b821728a42753d956c71a841097 100644 (file)
@@ -30,7 +30,7 @@ from neutron.api.v2 import attributes
 from neutron.common import constants as const
 from neutron.common import exceptions
 import neutron.common.utils as utils
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
+from neutron.i18n import _LE, _LI, _LW
 from neutron.openstack.common import log
 from neutron.openstack.common import policy
 
index 935810846299df837bf2de3778a29494786bdd31..251512e857016166f5f0d04dd7fce2d454d5e2a6 100644 (file)
@@ -22,7 +22,7 @@ from sqlalchemy import sql
 from neutron.common import constants
 from neutron.db import agents_db
 from neutron.db import agentschedulers_db
-from neutron.openstack.common.gettextutils import _LI, _LW
+from neutron.i18n import _LI, _LW
 from neutron.openstack.common import log as logging
 
 
index 52e9bba7ddaf3f8dee5abc7b4bb0e1472605606b..14aae7c114e5056765c5ced563e96b327820d22e 100644 (file)
@@ -27,7 +27,7 @@ from neutron.common import utils
 from neutron.db import l3_agentschedulers_db
 from neutron.db import l3_db
 from neutron.db import l3_hamode_db
-from neutron.openstack.common.gettextutils import _LE, _LW
+from neutron.i18n import _LE, _LW
 from neutron.openstack.common import log as logging
 
 
index ea598d5e77b0db402816ba78d1f0cd323287a829..fb6584ba6764dcc866ed75604ad3567ce7674ecd 100755 (executable)
@@ -26,12 +26,9 @@ eventlet.monkey_patch()
 from oslo.config import cfg
 
 from neutron.common import config
-from neutron import service
-
-from neutron.openstack.common import gettextutils
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
-gettextutils.install('neutron', lazy=True)
+from neutron import service
 
 LOG = logging.getLogger(__name__)
 
index e5f43568ae774b2d4a3efaf5ad7e47e281938ba7..b4b80c05e3a81e7ef9ca0624b0a07c957ea0ff23 100644 (file)
@@ -21,7 +21,7 @@ from neutron.agent.linux import ip_lib
 from neutron.common import topics
 from neutron import context
 from neutron.extensions import firewall as fw_ext
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants
 from neutron.services.firewall.agents import firewall_agent_api as api
index f30547c40e495d5ccd018decd74e4164a4fc92c2..5cb885e170ad242aa0db303acfd3d03696ea532b 100755 (executable)
@@ -19,7 +19,7 @@ import httplib2
 from oslo.config import cfg
 from oslo.serialization import jsonutils
 
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from neutron.services.firewall.agents.varmour import varmour_utils as va_utils
 
index 886c981ff0cf299a7a82803bf22a5ab7425f9515..59cb524f8fd12cbbc714ab1f6236d35689c93ef9 100755 (executable)
@@ -30,7 +30,7 @@ from neutron.agent.linux import ip_lib
 from neutron.common import config as common_config
 from neutron.common import constants as l3_constants
 from neutron.common import topics
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import service
 from neutron import service as neutron_service
index 68c17ea54e8354449ca538fcd0014b2a577ad469..4e0dea769883719b5cbfb8a4a0bf6c1fdfc2214c 100644 (file)
@@ -15,7 +15,7 @@
 
 from neutron.agent.linux import iptables_manager
 from neutron.extensions import firewall as fw_ext
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from neutron.services.firewall.drivers import fwaas_base
 
index 2456bafdc0e081d45e029b6b7004aa5892ee0192..d0ecba8b2cb9cc0750205ecf6d2ba3034467bdc7 100755 (executable)
@@ -13,7 +13,7 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 from neutron.services.firewall.agents.varmour import varmour_api
 from neutron.services.firewall.agents.varmour import varmour_utils as va_utils
index d7ea6331744e4498f5a1b4c436fe3df19ae85f78..fa03eb3251750710a4b303097f039559359a4653 100644 (file)
@@ -22,7 +22,7 @@ from neutron.common import topics
 from neutron import context as neutron_context
 from neutron.db.firewall import firewall_db
 from neutron.extensions import firewall as fw_ext
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants as const
 
index 141aed1e6d4f65ed4a1a7327b9b3498c9c149394..4d19bca4022c449c5662ab8d5964cedc6ff786c4 100644 (file)
@@ -21,7 +21,7 @@ from oslo.config import cfg
 from oslo.utils import excutils
 
 from neutron.common import constants as l3_constants
-from neutron.openstack.common.gettextutils import _LE, _LI
+from neutron.i18n import _LE, _LI
 from neutron.openstack.common import log as logging
 from neutron.plugins.ml2 import db
 from neutron.plugins.ml2.drivers.brocade.db import models as brocade_db
index 4206066d3328ac7dc107f49d0a0698482129bc2f..ea6852b64e0abc243f003af867a4dec08dab8585 100644 (file)
@@ -29,7 +29,7 @@ from neutron.db import db_base_plugin_v2
 from neutron.db import extraroute_db
 from neutron.db import l3_agentschedulers_db
 from neutron.db import l3_gwmode_db
-from neutron.openstack.common.gettextutils import _LE, _LI
+from neutron.i18n import _LE, _LI
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants
 from neutron.plugins.ml2.driver_context import NetworkContext  # noqa
index efa91b222d4036cf595bec006867163d58402417..e65463e6e38ff6fa00d92a34f571e377c61da857 100644 (file)
@@ -21,7 +21,7 @@ from neutron.common import exceptions as n_exc
 from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron import context
-from neutron.openstack.common.gettextutils import _LE, _LI
+from neutron.i18n import _LE, _LI
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
 from neutron.openstack.common import periodic_task
index ce6ded46c6061591e8f58fe74ccb6eb2c03024ed..8ab84fe83105ee79756e9788323e54c8be7480b9 100644 (file)
@@ -24,7 +24,7 @@ from neutron.db import agents_db
 from neutron.db import agentschedulers_db
 from neutron.db import model_base
 from neutron.extensions import lbaas_agentscheduler
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 
 LOG = logging.getLogger(__name__)
index 3a8bd445668a39b071c52716da054c51a3b78469..bdebf19c5f164e8d78a550d626bfb06bcfd1d451 100644 (file)
@@ -26,7 +26,7 @@ from neutron.db import agents_db
 from neutron.db.loadbalancer import loadbalancer_db
 from neutron.extensions import lbaas_agentscheduler
 from neutron.extensions import portbindings
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants
 from neutron.services.loadbalancer.drivers import abstract_driver
index d03b4ed88a3ed4f6e587e1048a59e01ee7f6a625..e7b6934abe69890839242df1647739eafebf03bb 100644 (file)
@@ -17,7 +17,7 @@ from eventlet import greenthread
 from eventlet import queue
 from heleosapi import exceptions as h_exc
 
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from neutron.plugins.embrane.common import contexts as ctx
 from neutron.services.loadbalancer.drivers.embrane.agent import lb_operations
index 259aafed5af0c2eccb4be158245c5c97ddeaf8f1..ae4075f2c0290ec702347e030e239f019a2ff8bd 100644 (file)
@@ -17,7 +17,7 @@ import functools
 
 from heleosapi import exceptions as h_exc
 
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 from neutron.services.loadbalancer import constants as lcon
 from neutron.services.loadbalancer.drivers.embrane import constants as econ
index 155af9d7a92294cfb09cec7eb6c2b642b7586166..642d10d97a39ed3a92546c968f3fa55ade58cc42 100644 (file)
@@ -22,7 +22,7 @@ from neutron.api.v2 import attributes
 from neutron.common import exceptions as n_exc
 from neutron.db.loadbalancer import loadbalancer_db as ldb
 from neutron.extensions import loadbalancer as lb_ext
-from neutron.openstack.common.gettextutils import _LW
+from neutron.i18n import _LW
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants as pcon
 from neutron.plugins.embrane.common import contexts as embrane_ctx
index 9754741ab096c3255bee31857354934c2a53c244..15feff03afe7157fd2f827cd22d6cb9dccc01618 100644 (file)
@@ -18,7 +18,7 @@ from heleosapi import exceptions as h_exc
 from neutron import context
 from neutron.db.loadbalancer import loadbalancer_db as ldb
 from neutron.db import servicetype_db as sdb
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
 from neutron.plugins.common import constants as ccon
index f243173b4b1dd8ef73a2df15f8eaabc6bcae3f75..dcb7a96ed4c48e76a66714088399b83e7d20b0cb 100644 (file)
@@ -26,7 +26,7 @@ from neutron.agent.linux import ip_lib
 from neutron.agent.linux import utils
 from neutron.common import exceptions
 from neutron.common import utils as n_utils
-from neutron.openstack.common.gettextutils import _LE, _LW
+from neutron.i18n import _LE, _LW
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants
 from neutron.services.loadbalancer.agent import agent_device_driver
index 87e11fca6c90b88abdc7b51ec15881a791f67368..8f30f68baec1b835e7e5f411a0867325570f52d3 100644 (file)
@@ -18,7 +18,7 @@ from oslo.serialization import jsonutils
 import requests
 
 from neutron.common import exceptions as n_exc
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 
 LOG = logging.getLogger(__name__)
index 30c709d3a5e99550d705180d6d42342057c7724c..71c1bd6e997fd634e77ccc549b0df82ea03d3e33 100644 (file)
@@ -16,7 +16,7 @@ from oslo.config import cfg
 
 from neutron.api.v2 import attributes
 from neutron.db.loadbalancer import loadbalancer_db
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants
 from neutron.services.loadbalancer.drivers import abstract_driver
index 4355a72294212bafe03ff805e5a7a3af2a915664..269b67a58c94c22c55329cdb5e15888c3901e9c5 100644 (file)
@@ -33,7 +33,7 @@ from neutron.common import log as call_log
 from neutron import context
 from neutron.db.loadbalancer import loadbalancer_db as lb_db
 from neutron.extensions import loadbalancer
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
+from neutron.i18n import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants
 from neutron.services.loadbalancer.drivers import abstract_driver
index d0006f4f691f167680a991401bb1f1f318c3da03..720e2a6fe4c75d9920431b8b757932e0fa47212a 100644 (file)
@@ -21,7 +21,7 @@ from neutron import context
 from neutron.db.loadbalancer import loadbalancer_db as ldb
 from neutron.db import servicetype_db as st_db
 from neutron.extensions import loadbalancer
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants
 from neutron.services.loadbalancer import agent_scheduler
index 21f5c6e707617da9fe6be9ad4a22ad33beaf10a5..a586a65437d239d54173251b3549ed8af00838c3 100644 (file)
@@ -30,8 +30,8 @@ from neutron.common import rpc as n_rpc
 from neutron.common import topics
 from neutron.common import utils
 from neutron import context
+from neutron.i18n import _LE, _LI, _LW
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
 from neutron.openstack.common import periodic_task
index 8741c72cf87c3c16d38628d94ab9501baf66a9cd..4a200d28494e2fdb7d6aba04382a1367bbf79faa 100644 (file)
@@ -22,7 +22,7 @@ from neutron.agent.linux import iptables_manager
 from neutron.common import constants as constants
 from neutron.common import ipv6_utils
 from neutron.common import log
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 from neutron.services.metering.drivers import abstract_driver
 
index f8139c6101ec04da85b0a67210c5c997db278b08..23abd6f4c88915539f74b8e4c6a59cbec22df37a 100644 (file)
@@ -21,7 +21,7 @@ import six
 
 from neutron.api import extensions
 from neutron.db import servicetype_db as sdb
-from neutron.openstack.common.gettextutils import _LE, _LI
+from neutron.i18n import _LE, _LI
 from neutron.openstack.common import log as logging
 from neutron.services import provider_configuration as pconf
 
index de5d47b3f004659eae6e5199e02652e8054ec8c4..04e6c092a49cff47d8c0f97a05dce0947e0798ff 100644 (file)
@@ -19,7 +19,7 @@ from oslo.serialization import jsonutils
 import requests
 from requests import exceptions as r_exc
 
-from neutron.openstack.common.gettextutils import _LE, _LW
+from neutron.i18n import _LE, _LW
 from neutron.openstack.common import log as logging
 
 
index 7776a34572b4f199eaf2e08e2b1e82435a93210f..b4b3d93c80f5c05a9e5ae59ffd9f60052380454a 100644 (file)
@@ -23,7 +23,7 @@ import six
 from neutron.common import exceptions
 from neutron.common import rpc as n_rpc
 from neutron import context as ctx
-from neutron.openstack.common.gettextutils import _LE, _LI, _LW
+from neutron.i18n import _LE, _LI, _LW
 from neutron.openstack.common import lockutils
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
index fb393c1b0f2cb84303a1badb08d0923356ccf1f7..3afd3b7ca8755ecedfb7f58ab8e512adb3d15e46 100644 (file)
@@ -28,7 +28,7 @@ from neutron.agent.linux import ip_lib
 from neutron.agent.linux import utils
 from neutron.common import rpc as n_rpc
 from neutron import context
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import lockutils
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import loopingcall
index c260386103ad32bacfd03ea52c55a6ff77b2aceb..dd8a20bf1a2225c032758fd4c2f579e2c99e381b 100644 (file)
@@ -15,7 +15,7 @@
 #    under the License.
 
 from neutron.db.vpn import vpn_db
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 from neutron.plugins.common import constants
 from neutron.services import service_base
index 37f9a8490d0c974288585e30c73aa5538fe000a9..1b501f1189931f0c1ce0528d98405df73f3bf9cb 100644 (file)
@@ -20,7 +20,7 @@ from neutron.common import exceptions
 from neutron.db import model_base
 from neutron.db import models_v2
 from neutron.db.vpn import vpn_db
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 
 LOG = logging.getLogger(__name__)
index 91f5c8394e59fb697c11e5081e8d17e3d4808c29..59ef3f92adc8b067c5a64366dcbea2ee5e3870ec 100644 (file)
@@ -18,8 +18,8 @@ from oslo.config import cfg
 from oslo.utils import excutils
 
 from neutron import context as n_context
+from neutron.i18n import _LE
 from neutron import manager
-from neutron.openstack.common.gettextutils import _LE
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import uuidutils
 from neutron.plugins.common import constants
index 12f30afcadd527bcd23a77bf2d91f91edc3259de..057e22c4191378a4c579982b0460d82ce492845b 100644 (file)
 #    under the License.
 
 import mock
+from oslo import i18n
 from webob import exc
 import webtest
 
 from neutron.api.v2 import resource as wsgi_resource
 from neutron.common import exceptions as n_exc
 from neutron import context
-from neutron.openstack.common import gettextutils
 from neutron.tests import base
 from neutron import wsgi
 
@@ -102,9 +102,9 @@ class RequestTestCase(base.BaseTestCase):
     def test_best_match_language(self):
         # Test that we are actually invoking language negotiation by webop
         request = wsgi.Request.blank('/')
-        gettextutils.get_available_languages = mock.MagicMock()
-        gettextutils.get_available_languages.return_value = ['known-language',
-                                                             'es', 'zh']
+        i18n.get_available_languages = mock.MagicMock()
+        i18n.get_available_languages.return_value = ['known-language',
+                                                     'es', 'zh']
         request.headers['Accept-Language'] = 'known-language'
         language = request.best_match_language()
         self.assertEqual(language, 'known-language')
@@ -150,9 +150,8 @@ class ResourceTestCase(base.BaseTestCase):
         self.assertEqual(wsgi.JSONDeserializer().deserialize(res.body),
                          expected_res)
 
-    @mock.patch('neutron.openstack.common.gettextutils.translate')
+    @mock.patch('oslo.i18n.translate')
     def test_unmapped_neutron_error_localized(self, mock_translation):
-        gettextutils.install('blaa', lazy=True)
         msg_translation = 'Translated error'
         mock_translation.return_value = msg_translation
         msg = _('Unmapped error')
@@ -196,9 +195,8 @@ class ResourceTestCase(base.BaseTestCase):
         self.assertEqual(wsgi.JSONDeserializer().deserialize(res.body),
                          expected_res)
 
-    @mock.patch('neutron.openstack.common.gettextutils.translate')
+    @mock.patch('oslo.i18n.translate')
     def test_mapped_neutron_error_localized(self, mock_translation):
-        gettextutils.install('blaa', lazy=True)
         msg_translation = 'Translated error'
         mock_translation.return_value = msg_translation
         msg = _('Unmapped error')
index 73bd841a0559a52b05ab74b64c066ab1f8e82011..1a2eb6162e98940dc065d516ef74d466abe1b2ef 100644 (file)
@@ -30,7 +30,7 @@ from neutron.agent.linux import interface
 from neutron.common import config as base_config
 from neutron.common import constants as l3_constants
 from neutron.common import exceptions as n_exc
-from neutron.openstack.common.gettextutils import _LE
+from neutron.i18n import _LE
 from neutron.openstack.common import processutils
 from neutron.openstack.common import uuidutils
 from neutron.plugins.common import constants as p_const
index 06a84de1a020c7e57671133d9040e5c7f89143dd..ddd0bfd06c2a82affc7656fa7b472e3ab232e7cb 100644 (file)
@@ -19,7 +19,7 @@ import eventlet
 from eventlet.green import urllib2
 import mock
 
-from neutron.openstack.common.gettextutils import _LI
+from neutron.i18n import _LI
 from neutron.openstack.common import log as logging
 from neutron.plugins.vmware.api_client import eventlet_client as client
 from neutron.plugins.vmware.api_client import eventlet_request as request
index ef189a89a3e85a7d3d768aed173774f73a6a72a7..b1cd05348ee685016d27646eee892619d7580af8 100644 (file)
@@ -28,6 +28,7 @@ import time
 import eventlet.wsgi
 eventlet.patcher.monkey_patch(all=False, socket=True, thread=True)
 from oslo.config import cfg
+from oslo import i18n
 from oslo.serialization import jsonutils
 from oslo.utils import excutils
 import routes.middleware
@@ -37,7 +38,6 @@ import webob.exc
 from neutron.common import exceptions as exception
 from neutron import context
 from neutron.db import api
-from neutron.openstack.common import gettextutils
 from neutron.openstack.common import log as logging
 from neutron.openstack.common import service as common_service
 from neutron.openstack.common import systemd
@@ -349,7 +349,7 @@ class Request(webob.Request):
         """
         if not self.accept_language:
             return None
-        all_languages = gettextutils.get_available_languages('neutron')
+        all_languages = i18n.get_available_languages('neutron')
         return self.accept_language.best_match(all_languages)
 
     @property
@@ -717,7 +717,7 @@ class Router(object):
         if not match:
             language = req.best_match_language()
             msg = _('The resource could not be found.')
-            msg = gettextutils.translate(msg, language)
+            msg = i18n.translate(msg, language)
             return webob.exc.HTTPNotFound(explanation=msg)
         app = match['controller']
         return app
index 56f22ee7d059004773cf7cba32431fda6240dc1a..7bba50dfae89a0d0b9e756b37c317e7959381d69 100644 (file)
@@ -5,7 +5,6 @@ module=context
 module=eventlet_backdoor
 module=fileutils
 module=fixture
-module=gettextutils
 module=install_venv_common
 module=local
 module=lockutils
index 241a73c275437200b8ed43320c30c08e4288c14e..f0785a5d8ceae6eec86557248086d4ce25963259 100644 (file)
@@ -8,7 +8,6 @@ PasteDeploy>=1.5.0
 Routes>=1.12.3,!=2.0
 anyjson>=0.3.3
 argparse
-Babel>=1.3
 eventlet>=0.15.2
 greenlet>=0.3.2
 httplib2>=0.7.5
diff --git a/tox.ini b/tox.ini
index 7e16f19ca0038871445d0129894f2c218687b69b..1135abc87fc1b463229d512e44c2ca9c8a672265 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -88,5 +88,5 @@ commands =
   pylint --rcfile=.pylintrc --output-format=colorized {posargs:neutron}
 
 [hacking]
-import_exceptions = neutron.openstack.common.gettextutils
+import_exceptions = neutron.i18n
 local-check-factory = neutron.hacking.checks.factory