1
0
mirror of https://github.com/django/django.git synced 2025-11-07 07:15:35 +00:00

Fixed a regression on Python 2.6 caused by r11623

This might fix #12037, but I cannot reproduce that bug.
Refs #12037



git-svn-id: http://code.djangoproject.com/svn/django/trunk@11625 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Luke Plant
2009-10-15 14:12:34 +00:00
parent c161bf21f0
commit a2d8acbacd
6 changed files with 35 additions and 26 deletions

View File

@@ -8,27 +8,7 @@ RequestContext.
"""
from django.conf import settings
from django.utils.functional import lazy, memoize, LazyObject
class ContextLazyObject(LazyObject):
"""
A lazy object initialised from any function, useful for lazily
adding things to the Context.
Designed for compound objects of unknown type. For simple objects of known
type, use django.utils.functional.lazy.
"""
def __init__(self, func):
"""
Pass in a callable that returns the actual value to be used
"""
self.__dict__['_setupfunc'] = func
# For some reason, we have to inline LazyObject.__init__ here to avoid
# recursion
self._wrapped = None
def _setup(self):
self._wrapped = self._setupfunc()
from django.utils.functional import lazy, memoize, SimpleLazyObject
def auth(request):
"""
@@ -55,7 +35,7 @@ def auth(request):
return AnonymousUser()
return {
'user': ContextLazyObject(get_user),
'user': SimpleLazyObject(get_user),
'messages': lazy(memoize(lambda: get_user().get_and_delete_messages(), {}, 0), list)(),
'perms': lazy(lambda: PermWrapper(get_user()), PermWrapper)(),
}