aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/tools/translate.py
diff options
context:
space:
mode:
authorJakob Kramer <jakob.kramer@gmx.de>2012-07-18 19:25:53 +0200
committerJakob Kramer <jakob.kramer@gmx.de>2012-07-18 19:25:53 +0200
commitc80982c7a0d64f01cb4dd44bfde334782f2a72c0 (patch)
tree6804c8d00d90622d1b48be1a4a2c423cd066b01b /mediagoblin/tools/translate.py
parent8464bcc3e86e223db0739101c0b5d914eea225af (diff)
downloadmediagoblin-c80982c7a0d64f01cb4dd44bfde334782f2a72c0.tar.lz
mediagoblin-c80982c7a0d64f01cb4dd44bfde334782f2a72c0.tar.xz
mediagoblin-c80982c7a0d64f01cb4dd44bfde334782f2a72c0.zip
make mg_globals.translations thread-safe
I added mg_globals.thread_scope (an instance of threading.local) and made `translations' an attribute of it.
Diffstat (limited to 'mediagoblin/tools/translate.py')
-rw-r--r--mediagoblin/tools/translate.py9
1 files changed, 4 insertions, 5 deletions
diff --git a/mediagoblin/tools/translate.py b/mediagoblin/tools/translate.py
index 33ee889a..65f636bb 100644
--- a/mediagoblin/tools/translate.py
+++ b/mediagoblin/tools/translate.py
@@ -100,7 +100,7 @@ def setup_gettext(locale):
# TODO: fallback nicely on translations from pt_PT to pt if not
# available, etc.
- if SETUP_GETTEXTS.has_key(locale):
+ if locale in SETUP_GETTEXTS:
this_gettext = SETUP_GETTEXTS[locale]
else:
this_gettext = gettext.translation(
@@ -108,8 +108,7 @@ def setup_gettext(locale):
if exists(locale):
SETUP_GETTEXTS[locale] = this_gettext
- mg_globals.setup_globals(
- translations=this_gettext)
+ mg_globals.thread_scope.translations = this_gettext
# Force en to be setup before anything else so that
@@ -124,7 +123,7 @@ def pass_to_ugettext(*args, **kwargs):
The reason we can't have a global ugettext method is because
mg_globals gets swapped out by the application per-request.
"""
- return mg_globals.translations.ugettext(
+ return mg_globals.thread_scope.translations.ugettext(
*args, **kwargs)
@@ -146,7 +145,7 @@ def pass_to_ngettext(*args, **kwargs):
The reason we can't have a global ngettext method is because
mg_globals gets swapped out by the application per-request.
"""
- return mg_globals.translations.ngettext(
+ return mg_globals.thread_scope.translations.ngettext(
*args, **kwargs)