]> granicus.if.org Git - python/commitdiff
Use decorators.
authorGuido van Rossum <guido@python.org>
Sun, 16 Jan 2005 00:16:11 +0000 (00:16 +0000)
committerGuido van Rossum <guido@python.org>
Sun, 16 Jan 2005 00:16:11 +0000 (00:16 +0000)
Demo/newmetaclasses/Eiffel.py
Lib/UserDict.py
Lib/tarfile.py

index 78a8bb5bb9670bc8fbbf32990f45738c7a01897c..04f991585cb52dd1e790e7196903477e6af7d8da 100644 (file)
@@ -9,6 +9,7 @@ class EiffelBaseMetaClass(type):
         return super(EiffelBaseMetaClass, meta).__new__(meta, name, bases,
                                                         dict)
 
+    @classmethod
     def convert_methods(cls, dict):
         """Replace functions in dict with EiffelMethod wrappers.
 
@@ -30,11 +31,10 @@ class EiffelBaseMetaClass(type):
             if pre or post:
                 dict[k] = cls.make_eiffel_method(dict[m], pre, post)
 
-    convert_methods = classmethod(convert_methods)
-
 class EiffelMetaClass1(EiffelBaseMetaClass):
     # an implementation of the "eiffel" meta class that uses nested functions
 
+    @staticmethod
     def make_eiffel_method(func, pre, post):
         def method(self, *args, **kwargs):
             if pre:
@@ -49,8 +49,6 @@ class EiffelMetaClass1(EiffelBaseMetaClass):
 
         return method
 
-    make_eiffel_method = staticmethod(make_eiffel_method)
-
 class EiffelMethodWrapper:
 
     def __init__(self, inst, descr):
index 703f118a428709c69d7b9a485ef378fa5f4af69a..71687038743d303acfc6dbf925045b2893c7a9dc 100644 (file)
@@ -63,12 +63,12 @@ class UserDict:
         return self.data.popitem()
     def __contains__(self, key):
         return key in self.data
+    @classmethod
     def fromkeys(cls, iterable, value=None):
         d = cls()
         for key in iterable:
             d[key] = value
         return d
-    fromkeys = classmethod(fromkeys)
 
 class IterableUserDict(UserDict):
     def __iter__(self):
index 0dc7a4270be18915da0ebf13f191c709409b1929..9d0061592efe298b212d060a1f31c7176030e40e 100644 (file)
@@ -656,6 +656,7 @@ class TarInfo(object):
     def __repr__(self):
         return "<%s %r at %#x>" % (self.__class__.__name__,self.name,id(self))
 
+    @classmethod
     def frombuf(cls, buf):
         """Construct a TarInfo object from a 512 byte string buffer.
         """
@@ -699,8 +700,6 @@ class TarInfo(object):
             tarinfo.name += "/"
         return tarinfo
 
-    frombuf = classmethod(frombuf)
-
     def tobuf(self):
         """Return a tar header block as a 512 byte string.
         """
@@ -858,6 +857,7 @@ class TarFile(object):
     # the super-constructor. A sub-constructor is registered and made available
     # by adding it to the mapping in OPEN_METH.
 
+    @classmethod
     def open(cls, name=None, mode="r", fileobj=None, bufsize=20*512):
         """Open a tar archive for reading, writing or appending. Return
            an appropriate TarFile class.
@@ -923,8 +923,7 @@ class TarFile(object):
 
         raise ValueError, "undiscernible mode"
 
-    open = classmethod(open)
-
+    @classmethod
     def taropen(cls, name, mode="r", fileobj=None):
         """Open uncompressed tar archive name for reading or writing.
         """
@@ -932,8 +931,7 @@ class TarFile(object):
             raise ValueError, "mode must be 'r', 'a' or 'w'"
         return cls(name, mode, fileobj)
 
-    taropen = classmethod(taropen)
-
+    @classmethod
     def gzopen(cls, name, mode="r", fileobj=None, compresslevel=9):
         """Open gzip compressed tar archive name for reading or writing.
            Appending is not allowed.
@@ -970,8 +968,7 @@ class TarFile(object):
         t._extfileobj = False
         return t
 
-    gzopen = classmethod(gzopen)
-
+    @classmethod
     def bz2open(cls, name, mode="r", fileobj=None, compresslevel=9):
         """Open bzip2 compressed tar archive name for reading or writing.
            Appending is not allowed.
@@ -1002,8 +999,6 @@ class TarFile(object):
         t._extfileobj = False
         return t
 
-    bz2open = classmethod(bz2open)
-
     # All *open() methods are registered here.
     OPEN_METH = {
         "tar": "taropen",   # uncompressed tar