From 4cfe6ba6a3d16a16f0561f2f3c5b56d117f8a60d Mon Sep 17 00:00:00 2001 From: xuxiang Date: Wed, 20 Nov 2013 10:02:30 +0800 Subject: [PATCH] Use `classmethod` as a decorator. --- django/core/files/uploadedfile.py | 2 +- django/dispatch/saferef.py | 2 +- django/utils/functional.py | 4 ++-- django/utils/tree.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/django/core/files/uploadedfile.py b/django/core/files/uploadedfile.py index aa076a8559..7697e30333 100644 --- a/django/core/files/uploadedfile.py +++ b/django/core/files/uploadedfile.py @@ -117,6 +117,7 @@ class SimpleUploadedFile(InMemoryUploadedFile): super(SimpleUploadedFile, self).__init__(BytesIO(content), None, name, content_type, len(content), None, None) + @classmethod def from_dict(cls, file_dict): """ Creates a SimpleUploadedFile object from @@ -128,4 +129,3 @@ class SimpleUploadedFile(InMemoryUploadedFile): return cls(file_dict['filename'], file_dict['content'], file_dict.get('content-type', 'text/plain')) - from_dict = classmethod(from_dict) diff --git a/django/dispatch/saferef.py b/django/dispatch/saferef.py index c18c7e3c57..8826c476f1 100644 --- a/django/dispatch/saferef.py +++ b/django/dispatch/saferef.py @@ -135,6 +135,7 @@ class BoundMethodWeakref(object): self.selfName = str(target.__self__) self.funcName = str(target.__func__.__name__) + @classmethod def calculateKey(cls, target): """Calculate the reference key for this reference @@ -142,7 +143,6 @@ class BoundMethodWeakref(object): target object and the target function respectively. """ return (id(target.__self__), id(target.__func__)) - calculateKey = classmethod(calculateKey) def __str__(self): """Give a friendly representation of the object""" diff --git a/django/utils/functional.py b/django/utils/functional.py index bb04573587..52be83ce43 100644 --- a/django/utils/functional.py +++ b/django/utils/functional.py @@ -93,6 +93,7 @@ def lazy(func, *resultclasses): (func, self.__args, self.__kw) + resultclasses ) + @classmethod def __prepare_class__(cls): cls.__dispatch = {} for resultclass in resultclasses: @@ -119,8 +120,8 @@ def lazy(func, *resultclasses): cls.__bytes__ = cls.__bytes_cast else: cls.__str__ = cls.__bytes_cast - __prepare_class__ = classmethod(__prepare_class__) + @classmethod def __promise__(cls, klass, funcname, method): # Builds a wrapper around some magic method and registers that # magic method for the given type and method name. @@ -137,7 +138,6 @@ def lazy(func, *resultclasses): cls.__dispatch[klass] = {} cls.__dispatch[klass][funcname] = method return __wrapper__ - __promise__ = classmethod(__promise__) def __text_cast(self): return func(*self.__args, **self.__kw) diff --git a/django/utils/tree.py b/django/utils/tree.py index 381dcdd06c..16389d0507 100644 --- a/django/utils/tree.py +++ b/django/utils/tree.py @@ -27,6 +27,7 @@ class Node(object): # We need this because of django.db.models.query_utils.Q. Q. __init__() is # problematic, but it is a natural Node subclass in all other respects. + @classmethod def _new_instance(cls, children=None, connector=None, negated=False): """ This is called to create a new instance of this class when we need new @@ -39,7 +40,6 @@ class Node(object): obj = Node(children, connector, negated) obj.__class__ = cls return obj - _new_instance = classmethod(_new_instance) def __str__(self): if self.negated: