diff options
author | Jakob Kramer <jakob.kramer@gmx.de> | 2012-07-18 19:25:53 +0200 |
---|---|---|
committer | Jakob Kramer <jakob.kramer@gmx.de> | 2012-07-18 19:25:53 +0200 |
commit | c80982c7a0d64f01cb4dd44bfde334782f2a72c0 (patch) | |
tree | 6804c8d00d90622d1b48be1a4a2c423cd066b01b /mediagoblin/tools/translate.py | |
parent | 8464bcc3e86e223db0739101c0b5d914eea225af (diff) | |
download | mediagoblin-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.py | 9 |
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) |