Created
March 1, 2009 18:40
-
-
Save tswicegood/93959fa759240be0ee1a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From ff92697fc17bb8c3948cb349fbdc05ef8cf51a7d Mon Sep 17 00:00:00 2001 | |
From: Travis Swicegood <development@domain51.com> | |
Date: Sun, 1 Mar 2009 12:39:49 -0600 | |
Subject: [PATCH] Remove duplication of creation of cache header key | |
Complete bike shed commit, but in tinkering around in this code I noticed | |
the generation of header cache key was duplicated. This extracts that code | |
into the _generate_cache_header_key() function. | |
--- | |
django/utils/cache.py | 11 +++++++---- | |
1 files changed, 7 insertions(+), 4 deletions(-) | |
diff --git a/django/utils/cache.py b/django/utils/cache.py | |
index 9c566ae..389c5a1 100644 | |
--- a/django/utils/cache.py | |
+++ b/django/utils/cache.py | |
@@ -146,6 +146,11 @@ def _generate_cache_key(request, headerlist, key_prefix): | |
return 'views.decorators.cache.cache_page.%s.%s.%s' % ( | |
key_prefix, iri_to_uri(request.path), ctx.hexdigest()) | |
+def _generate_cache_header_key(key_prefix, request): | |
+ """Returns a cache key for the header cache.""" | |
+ return 'views.decorators.cache.cache_header.%s.%s' % ( | |
+ key_prefix, iri_to_uri(request.path)) | |
+ | |
def get_cache_key(request, key_prefix=None): | |
""" | |
Returns a cache key based on the request path. It can be used in the | |
@@ -158,8 +163,7 @@ def get_cache_key(request, key_prefix=None): | |
""" | |
if key_prefix is None: | |
key_prefix = settings.CACHE_MIDDLEWARE_KEY_PREFIX | |
- cache_key = 'views.decorators.cache.cache_header.%s.%s' % ( | |
- key_prefix, iri_to_uri(request.path)) | |
+ cache_key = _generate_cache_header_key(key_prefix, request) | |
headerlist = cache.get(cache_key, None) | |
if headerlist is not None: | |
return _generate_cache_key(request, headerlist, key_prefix) | |
@@ -183,8 +187,7 @@ def learn_cache_key(request, response, cache_timeout=None, key_prefix=None): | |
key_prefix = settings.CACHE_MIDDLEWARE_KEY_PREFIX | |
if cache_timeout is None: | |
cache_timeout = settings.CACHE_MIDDLEWARE_SECONDS | |
- cache_key = 'views.decorators.cache.cache_header.%s.%s' % ( | |
- key_prefix, iri_to_uri(request.path)) | |
+ cache_key = _generate_cache_header_key(key_prefix, request) | |
if response.has_header('Vary'): | |
headerlist = ['HTTP_'+header.upper().replace('-', '_') | |
for header in cc_delim_re.split(response['Vary'])] | |
-- | |
1.6.1.2.390.gba743+GitX |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment