Create set_thread_locale and use it.
authorElrond <elrond+mediagoblin.org@samba-tng.org>
Fri, 1 Mar 2013 12:16:41 +0000 (13:16 +0100)
committerElrond <elrond+mediagoblin.org@samba-tng.org>
Wed, 24 Apr 2013 20:30:50 +0000 (22:30 +0200)
Setting up a new template env should not directly touch the
translation tools, but go through a function in
translations.py.

mediagoblin/tools/template.py
mediagoblin/tools/translate.py

index 78d656542c55d4e4678ab5120530f650f3fbeddd..54aeac926971e4247f1dd52ee4b8fa3420b6d1ec 100644 (file)
@@ -14,7 +14,6 @@
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-from math import ceil
 
 import jinja2
 from jinja2.ext import Extension
@@ -27,7 +26,7 @@ from mediagoblin import mg_globals
 from mediagoblin import messages
 from mediagoblin import _version
 from mediagoblin.tools import common
-from mediagoblin.tools.translate import get_gettext_translation
+from mediagoblin.tools.translate import set_thread_locale
 from mediagoblin.tools.pluginapi import get_hook_templates
 from mediagoblin.tools.timesince import timesince
 from mediagoblin.meddleware.csrf import render_csrf_form_token
@@ -44,7 +43,7 @@ def get_jinja_env(template_loader, locale):
     (In the future we may have another system for providing theming;
     for now this is good enough.)
     """
-    mg_globals.thread_scope.translations = get_gettext_translation(locale)
+    set_thread_locale(locale)
 
     # If we have a jinja environment set up with this locale, just
     # return that one.
index 4acafac788157fd0d9aeef2fd1bfefff8a4b3325..470382673eece9af3a05ed72d763bf1273a63dd5 100644 (file)
@@ -112,6 +112,11 @@ def get_gettext_translation(locale):
     return this_gettext
 
 
+def set_thread_locale(locale):
+    """Set the current translation for this thread"""
+    mg_globals.thread_scope.translations = get_gettext_translation(locale)
+
+
 def pass_to_ugettext(*args, **kwargs):
     """
     Pass a translation on to the appropriate ugettext method.