From d5c449ab32a1a3a3f47c5ebdcbee97d61e681165 Mon Sep 17 00:00:00 2001 From: Ethan Lynn Date: Tue, 22 Jul 2014 11:06:53 +0800 Subject: [PATCH] Import oslo.i18n and port heat bins to use oslo.i18n Import oslo.i18n and port heat bins to use oslo.i18n blueprint oslo-i18n Change-Id: If30df87d7d2b8047225f0c413d338ace975062b1 --- bin/heat-api | 6 +++--- bin/heat-api-cfn | 7 +++---- bin/heat-api-cloudwatch | 7 +++---- bin/heat-engine | 5 ++--- bin/heat-manage | 3 --- heat/common/i18n.py | 35 +++++++++++++++++++++++++++++++++++ requirements.txt | 1 + 7 files changed, 47 insertions(+), 17 deletions(-) create mode 100644 heat/common/i18n.py diff --git a/bin/heat-api b/bin/heat-api index af89fd1af2..a05a64bdb9 100755 --- a/bin/heat-api +++ b/bin/heat-api @@ -31,16 +31,16 @@ if os.path.exists(os.path.join(possible_topdir, 'heat', '__init__.py')): sys.path.insert(0, possible_topdir) from oslo.config import cfg +from oslo import i18n from heat.common import config +from heat.common.i18n import _ from heat.common import messaging from heat.common import wsgi -from heat.openstack.common import gettextutils from heat.openstack.common import log as logging from heat.openstack.common import systemd -gettextutils.enable_lazy() -gettextutils.install('heat', lazy=True) +i18n.enable_lazy() LOG = logging.getLogger('heat.api') diff --git a/bin/heat-api-cfn b/bin/heat-api-cfn index 2249a89ba6..079a8b939d 100755 --- a/bin/heat-api-cfn +++ b/bin/heat-api-cfn @@ -33,17 +33,16 @@ if os.path.exists(os.path.join(possible_topdir, 'heat', '__init__.py')): sys.path.insert(0, possible_topdir) from oslo.config import cfg +from oslo import i18n from heat.common import config +from heat.common.i18n import _ from heat.common import messaging from heat.common import wsgi -from heat.openstack.common import gettextutils - from heat.openstack.common import log as logging from heat.openstack.common import systemd -gettextutils.enable_lazy() -gettextutils.install('heat', lazy=True) +i18n.enable_lazy() LOG = logging.getLogger('heat.api.cfn') diff --git a/bin/heat-api-cloudwatch b/bin/heat-api-cloudwatch index 550a3684c4..ad966c61ce 100755 --- a/bin/heat-api-cloudwatch +++ b/bin/heat-api-cloudwatch @@ -33,17 +33,16 @@ if os.path.exists(os.path.join(possible_topdir, 'heat', '__init__.py')): sys.path.insert(0, possible_topdir) from oslo.config import cfg +from oslo import i18n from heat.common import config +from heat.common.i18n import _ from heat.common import messaging from heat.common import wsgi -from heat.openstack.common import gettextutils - from heat.openstack.common import log as logging from heat.openstack.common import systemd -gettextutils.enable_lazy() -gettextutils.install('heat', lazy=True) +i18n.enable_lazy() LOG = logging.getLogger('heat.api.cloudwatch') diff --git a/bin/heat-engine b/bin/heat-engine index a0c3183b21..2c4354c411 100755 --- a/bin/heat-engine +++ b/bin/heat-engine @@ -33,16 +33,15 @@ if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'heat', '__init__.py')): sys.path.insert(0, POSSIBLE_TOPDIR) from oslo.config import cfg +from oslo import i18n from heat.common import messaging -from heat.openstack.common import gettextutils from heat.openstack.common import log as logging from heat.openstack.common import service from heat.rpc import api as rpc_api -gettextutils.enable_lazy() -gettextutils.install('heat', lazy=True) +i18n.enable_lazy() LOG = logging.getLogger('heat.engine') diff --git a/bin/heat-manage b/bin/heat-manage index 4045eea6df..e47bdbb728 100755 --- a/bin/heat-manage +++ b/bin/heat-manage @@ -25,8 +25,5 @@ if os.path.exists(os.path.join(POSSIBLE_TOPDIR, 'heat', '__init__.py')): sys.path.insert(0, POSSIBLE_TOPDIR) from heat.cmd import manage -from heat.openstack.common import gettextutils - -gettextutils.install('heat') manage.main() diff --git a/heat/common/i18n.py b/heat/common/i18n.py new file mode 100644 index 0000000000..9a49bbeb34 --- /dev/null +++ b/heat/common/i18n.py @@ -0,0 +1,35 @@ +# Copyright 2014 IBM Corp. +# +# 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. + +# It's based on oslo.i18n usage in OpenStack Keystone project and +# recommendations from http://docs.openstack.org/developer/oslo.i18n/usage.html + +from oslo import i18n + + +_translators = i18n.TranslatorFactory(domain='heat') + +# 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 diff --git a/requirements.txt b/requirements.txt index 79167e9fdc..29480a093d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,6 +10,7 @@ lxml>=2.3 netaddr>=0.7.6 oslo.config>=1.4.0.0a3 oslo.db>=0.2.0 # Apache-2.0 +oslo.i18n>=0.2.0 # Apache-2.0 oslo.messaging>=1.3.0 PasteDeploy>=1.5.0 pbr>=0.6,!=0.7,<1.0