web/lib/django/views/decorators/vary.py
changeset 29 cc9b7e14412b
parent 0 0d40e90630ef
--- a/web/lib/django/views/decorators/vary.py	Wed May 19 17:43:59 2010 +0200
+++ b/web/lib/django/views/decorators/vary.py	Tue May 25 02:43:45 2010 +0200
@@ -1,9 +1,10 @@
 try:
     from functools import wraps
 except ImportError:
-    from django.utils.functional import wraps  # Python 2.3, 2.4 fallback.
+    from django.utils.functional import wraps  # Python 2.4 fallback.
 
 from django.utils.cache import patch_vary_headers
+from django.utils.decorators import available_attrs
 
 def vary_on_headers(*headers):
     """
@@ -21,7 +22,7 @@
             response = func(*args, **kwargs)
             patch_vary_headers(response, headers)
             return response
-        return wraps(func)(inner_func)
+        return wraps(func, assigned=available_attrs(func))(inner_func)
     return decorator
 
 def vary_on_cookie(func):
@@ -37,4 +38,4 @@
         response = func(*args, **kwargs)
         patch_vary_headers(response, ('Cookie',))
         return response
-    return wraps(func)(inner_func)
+    return wraps(func, assigned=available_attrs(func))(inner_func)