summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
authorRamiro Morales <cramm0@gmail.com>2011-11-07 11:28:31 +0000
committerRamiro Morales <cramm0@gmail.com>2011-11-07 11:28:31 +0000
commite92b3b723f9bf953d0465e92e444045cdc837042 (patch)
tree450b57e743832f0c575c268682b0d0a5f214138a /django
parent90d369741727dbf0cf1c94b23fb2340c7edb8b02 (diff)
Fixed #11118 -- Made management command BaseCommand restore locale after execution.
Thanks rvdrijst for the report and initial patch and Claude Paroz for enhancing it. git-svn-id: http://code.djangoproject.com/svn/django/trunk@17077 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django')
-rw-r--r--django/core/management/base.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/django/core/management/base.py b/django/core/management/base.py
index 77c80fe695..d2dd266527 100644
--- a/django/core/management/base.py
+++ b/django/core/management/base.py
@@ -203,9 +203,11 @@ class BaseCommand(object):
# like permissions, and those shouldn't contain any translations.
# But only do this if we can assume we have a working settings file,
# because django.utils.translation requires settings.
+ saved_lang = None
if self.can_import_settings:
try:
from django.utils import translation
+ saved_lang = translation.get_language()
translation.activate('en-us')
except ImportError, e:
# If settings should be available, but aren't,
@@ -232,6 +234,8 @@ class BaseCommand(object):
except CommandError, e:
self.stderr.write(smart_str(self.style.ERROR('Error: %s\n' % e)))
sys.exit(1)
+ if saved_lang is not None:
+ translation.activate(saved_lang)
def validate(self, app=None, display_num_errors=False):
"""