Use decorators.
diff --git a/Lib/UserDict.py b/Lib/UserDict.py
index 703f118..7168703 100644
--- a/Lib/UserDict.py
+++ b/Lib/UserDict.py
@@ -63,12 +63,12 @@
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):
diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index 0dc7a42..9d00615 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -656,6 +656,7 @@
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 @@
tarinfo.name += "/"
return tarinfo
- frombuf = classmethod(frombuf)
-
def tobuf(self):
"""Return a tar header block as a 512 byte string.
"""
@@ -858,6 +857,7 @@
# 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 @@
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 @@
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 @@
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 @@
t._extfileobj = False
return t
- bz2open = classmethod(bz2open)
-
# All *open() methods are registered here.
OPEN_METH = {
"tar": "taropen", # uncompressed tar