Skip to content

Commit 5e7264f

Browse files
committed
Add default preprocessor
1 parent 42d50e6 commit 5e7264f

File tree

1 file changed

+9
-10
lines changed

1 file changed

+9
-10
lines changed

cached_auth/__init__.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,13 @@
1515
except ImportError:
1616
from django.contrib.auth.models import User
1717

18-
1918
CACHE_KEY = 'cached_auth_middleware:%s'
2019

20+
21+
def profile_preprocessor(user, request):
22+
""" Cache user profile """
23+
return user.get_profile()
24+
2125
user_preprocessor = None
2226
if hasattr(settings, 'CACHED_AUTH_PREPROCESSOR'):
2327
tmp = settings.CACHED_AUTH_PREPROCESSOR.split(".")
@@ -26,7 +30,9 @@
2630
if callable(func):
2731
user_preprocessor = func
2832
else:
29-
raise Exception("CACHED_AUTH_PREPROCESSOR_FUNCTION should be callable function with arguments user, request")
33+
raise Exception("CACHED_AUTH_PREPROCESSOR must be callable with 2 arguments user and request")
34+
else:
35+
user_preprocessor = profile_preprocessor
3036

3137
try:
3238
app_label, model_name = settings.AUTH_PROFILE_MODULE.split('.')
@@ -53,14 +59,7 @@ def get_cached_user(request):
5359
if user is None:
5460
user = get_user(request)
5561
if user_preprocessor:
56-
user_preprocessor(user, request)
57-
# Try to populate profile cache if profile is installed
58-
if profile_model:
59-
try:
60-
user.get_profile()
61-
# Handle exception for user with no profile and AnonymousUser
62-
except (profile_model.DoesNotExist, AttributeError):
63-
pass
62+
user = user_preprocessor(user, request)
6463
cache.set(key, user)
6564
request._cached_user = user
6665
return request._cached_user

0 commit comments

Comments
 (0)