From bfcecbffd37a68b5fffe81954c17aedeacb1ba22 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Mon, 21 Jul 2008 07:57:10 +0000 Subject: Changed/fixed the way Django handles SCRIPT_NAME and PATH_INFO (or equivalents). Basically, URL resolving will only use the PATH_INFO and the SCRIPT_NAME will be prepended by reverse() automatically. Allows for more portable development and installation. Also exposes SCRIPT_NAME in the HttpRequest instance. There are a number of cases where things don't work completely transparently, so mod_python and fastcgi users should read the relevant docs. Fixed #285, #1516, #3414. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8015 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/utils/thread_support.py | 12 ++++++++++++ django/utils/translation/trans_real.py | 13 +------------ 2 files changed, 13 insertions(+), 12 deletions(-) create mode 100644 django/utils/thread_support.py (limited to 'django/utils') 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. -- cgit v1.3