diff --git a/django/utils/thread_support.py b/django/utils/thread_support.py new file mode 100644 index 0000000000..2b97d165ca --- /dev/null +++ b/django/utils/thread_support.py @@ -0,0 +1,12 @@ +""" +Code used in a couple of places to work with the current thread's environment. +Current users include i18n and request prefix handling. +""" + +try: + import threading + currentThread = threading.currentThread +except ImportError: + def currentThread(): + return "no threading" + diff --git a/django/utils/translation/trans_real.py b/django/utils/translation/trans_real.py index 451420c7d8..93bb3c9bf9 100644 --- a/django/utils/translation/trans_real.py +++ b/django/utils/translation/trans_real.py @@ -8,18 +8,7 @@ import gettext as gettext_module from cStringIO import StringIO from django.utils.safestring import mark_safe, SafeData - -try: - import threading - hasThreads = True -except ImportError: - hasThreads = False - -if hasThreads: - currentThread = threading.currentThread -else: - def currentThread(): - return 'no threading' +from django.utils.thread_support import currentThread # Translations are cached in a dictionary for every language+app tuple. # The active translations are stored by threadid to make them thread local.