Kaydet (Commit) 679af405 authored tarafından Aymeric Augustin's avatar Aymeric Augustin

Restricted a workaround for a bug in Python to the affected versions.

üst e1bafdbf
...@@ -2,12 +2,16 @@ ...@@ -2,12 +2,16 @@
from functools import wraps, update_wrapper, WRAPPER_ASSIGNMENTS from functools import wraps, update_wrapper, WRAPPER_ASSIGNMENTS
from django.utils import six
class classonlymethod(classmethod): class classonlymethod(classmethod):
def __get__(self, instance, owner): def __get__(self, instance, owner):
if instance is not None: if instance is not None:
raise AttributeError("This method is available only on the view class.") raise AttributeError("This method is available only on the view class.")
return super(classonlymethod, self).__get__(instance, owner) return super(classonlymethod, self).__get__(instance, owner)
def method_decorator(decorator): def method_decorator(decorator):
""" """
Converts a function decorator into a method decorator Converts a function decorator into a method decorator
...@@ -68,9 +72,13 @@ def decorator_from_middleware(middleware_class): ...@@ -68,9 +72,13 @@ def decorator_from_middleware(middleware_class):
def available_attrs(fn): def available_attrs(fn):
""" """
Return the list of functools-wrappable attributes on a callable. Return the list of functools-wrappable attributes on a callable.
This is required as a workaround for http://bugs.python.org/issue3445. This is required as a workaround for http://bugs.python.org/issue3445
under Python 2.
""" """
return tuple(a for a in WRAPPER_ASSIGNMENTS if hasattr(fn, a)) if six.PY3:
return WRAPPER_ASSIGNMENTS
else:
return tuple(a for a in WRAPPER_ASSIGNMENTS if hasattr(fn, a))
def make_middleware_decorator(middleware_class): def make_middleware_decorator(middleware_class):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment