summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjaypipes@gmail.com <>2010-12-14 23:59:11 +0000
committerTarmac <>2010-12-14 23:59:11 +0000
commite328d7bbb18a4b32671f2016ef3dc1bd63cbe3a0 (patch)
treeee290e371d787d6772589f4afcad8e8ec2fa09e1
parent87265fd2de6b73a32bd327553ce542ee5ec125b3 (diff)
parent797e3f8a1cc72599aa8540b5655e29da8975e56f (diff)
downloadnova-e328d7bbb18a4b32671f2016ef3dc1bd63cbe3a0.tar.gz
nova-e328d7bbb18a4b32671f2016ef3dc1bd63cbe3a0.tar.xz
nova-e328d7bbb18a4b32671f2016ef3dc1bd63cbe3a0.zip
Initial work on i18n. This adds the installation of the nova domain in gettext to all the "endpoints", which are all the bin/* files and run_tests.py.
In addition, we place a small hack in /nova/tests/__init__.py that allows nosetests to run without problems. The next series of patches will "i18n"-ify the strings in Nova using the _() gettext function.
-rwxr-xr-xbin/nova-api3
-rwxr-xr-xbin/nova-compute3
-rwxr-xr-xbin/nova-dhcpbridge3
-rwxr-xr-xbin/nova-import-canonical-imagestore3
-rwxr-xr-xbin/nova-instancemonitor3
-rwxr-xr-xbin/nova-manage3
-rwxr-xr-xbin/nova-network3
-rwxr-xr-xbin/nova-objectstore3
-rwxr-xr-xbin/nova-scheduler3
-rwxr-xr-xbin/nova-volume3
-rw-r--r--nova/tests/__init__.py5
-rw-r--r--run_tests.py3
12 files changed, 38 insertions, 0 deletions
diff --git a/bin/nova-api b/bin/nova-api
index a9c53dbcd..2ae6a099a 100755
--- a/bin/nova-api
+++ b/bin/nova-api
@@ -21,6 +21,7 @@
Nova API daemon.
"""
+import gettext
import os
import sys
@@ -32,6 +33,8 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir)
+gettext.install('nova', unicode=1)
+
from nova import flags
from nova import utils
from nova import server
diff --git a/bin/nova-compute b/bin/nova-compute
index ac6378f75..f57b68584 100755
--- a/bin/nova-compute
+++ b/bin/nova-compute
@@ -21,6 +21,7 @@
Twistd daemon for the nova compute nodes.
"""
+import gettext
import os
import sys
@@ -32,6 +33,8 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir)
+gettext.install('nova', unicode=1)
+
from nova import service
from nova import twistd
from nova import utils
diff --git a/bin/nova-dhcpbridge b/bin/nova-dhcpbridge
index 17c62da0a..81b9b6dd3 100755
--- a/bin/nova-dhcpbridge
+++ b/bin/nova-dhcpbridge
@@ -21,6 +21,7 @@
Handle lease database updates from DHCP servers.
"""
+import gettext
import logging
import os
import sys
@@ -33,6 +34,8 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir)
+gettext.install('nova', unicode=1)
+
from nova import context
from nova import db
from nova import flags
diff --git a/bin/nova-import-canonical-imagestore b/bin/nova-import-canonical-imagestore
index 4ed9e8365..036b41e48 100755
--- a/bin/nova-import-canonical-imagestore
+++ b/bin/nova-import-canonical-imagestore
@@ -21,6 +21,7 @@
Download images from Canonical Image Store
"""
+import gettext
import json
import os
import tempfile
@@ -37,6 +38,8 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir)
+gettext.install('nova', unicode=1)
+
from nova import flags
from nova import utils
from nova.objectstore import image
diff --git a/bin/nova-instancemonitor b/bin/nova-instancemonitor
index 9b6c40e82..5dac3ffe6 100755
--- a/bin/nova-instancemonitor
+++ b/bin/nova-instancemonitor
@@ -21,6 +21,7 @@
Daemon for Nova RRD based instance resource monitoring.
"""
+import gettext
import os
import logging
import sys
@@ -34,6 +35,8 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir)
+gettext.install('nova', unicode=1)
+
from nova import utils
from nova import twistd
from nova.compute import monitor
diff --git a/bin/nova-manage b/bin/nova-manage
index 62eec8353..0c1b621ed 100755
--- a/bin/nova-manage
+++ b/bin/nova-manage
@@ -53,6 +53,7 @@
CLI interface for nova management.
"""
+import gettext
import logging
import os
import sys
@@ -68,6 +69,8 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir)
+gettext.install('nova', unicode=1)
+
from nova import context
from nova import db
from nova import exception
diff --git a/bin/nova-network b/bin/nova-network
index d1fb55261..86d04c723 100755
--- a/bin/nova-network
+++ b/bin/nova-network
@@ -21,6 +21,7 @@
Twistd daemon for the nova network nodes.
"""
+import gettext
import os
import sys
@@ -32,6 +33,8 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir)
+gettext.install('nova', unicode=1)
+
from nova import service
from nova import twistd
from nova import utils
diff --git a/bin/nova-objectstore b/bin/nova-objectstore
index 00ae27af9..9fbe228a2 100755
--- a/bin/nova-objectstore
+++ b/bin/nova-objectstore
@@ -21,6 +21,7 @@
Twisted daemon for nova objectstore. Supports S3 API.
"""
+import gettext
import os
import sys
@@ -32,6 +33,8 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir)
+gettext.install('nova', unicode=1)
+
from nova import flags
from nova import utils
from nova import twistd
diff --git a/bin/nova-scheduler b/bin/nova-scheduler
index 4d1a40cf1..41e1937c1 100755
--- a/bin/nova-scheduler
+++ b/bin/nova-scheduler
@@ -21,6 +21,7 @@
Twistd daemon for the nova scheduler nodes.
"""
+import gettext
import os
import sys
@@ -32,6 +33,8 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir)
+gettext.install('nova', unicode=1)
+
from nova import service
from nova import twistd
from nova import utils
diff --git a/bin/nova-volume b/bin/nova-volume
index e7281d6c0..4f2e96268 100755
--- a/bin/nova-volume
+++ b/bin/nova-volume
@@ -21,6 +21,7 @@
Twistd daemon for the nova volume nodes.
"""
+import gettext
import os
import sys
@@ -32,6 +33,8 @@ possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
if os.path.exists(os.path.join(possible_topdir, 'nova', '__init__.py')):
sys.path.insert(0, possible_topdir)
+gettext.install('nova', unicode=1)
+
from nova import service
from nova import twistd
from nova import utils
diff --git a/nova/tests/__init__.py b/nova/tests/__init__.py
index aaf213923..8dc87d0e2 100644
--- a/nova/tests/__init__.py
+++ b/nova/tests/__init__.py
@@ -29,3 +29,8 @@
.. moduleauthor:: Manish Singh <yosh@gimp.org>
.. moduleauthor:: Andy Smith <andy@anarkystic.com>
"""
+
+# See http://code.google.com/p/python-nose/issues/detail?id=373
+# The code below enables nosetests to work with i18n _() blocks
+import __builtin__
+setattr(__builtin__, '_', lambda x: x)
diff --git a/run_tests.py b/run_tests.py
index 3d427d8af..37a548e4c 100644
--- a/run_tests.py
+++ b/run_tests.py
@@ -40,9 +40,12 @@ Due to our use of multiprocessing it we frequently get some ignorable
"""
import __main__
+import gettext
import os
import sys
+gettext.install('nova', unicode=1)
+
from twisted.scripts import trial as trial_script
from nova import flags