Issue #3039: Fix TarFileCompat.writestr() which always raised an
AttributeError since __slots__ were added to zipfile.ZipInfo in r46967 two years ago. Add a warning about the removal of TarFileCompat in Python 3.0.
This commit is contained in:
parent
aabf404ecc
commit
727bd0b687
|
@ -140,6 +140,10 @@ Some facts and figures:
|
|||
Constant for a :mod:`gzip` compressed tar archive.
|
||||
|
||||
|
||||
.. deprecated:: 2.6
|
||||
The :class:`TarFileCompat` class has been deprecated for removal in Python 3.0.
|
||||
|
||||
|
||||
.. exception:: TarError
|
||||
|
||||
Base class for all :mod:`tarfile` exceptions.
|
||||
|
|
|
@ -2468,6 +2468,9 @@ class TarFileCompat:
|
|||
ZipFile class.
|
||||
"""
|
||||
def __init__(self, file, mode="r", compression=TAR_PLAIN):
|
||||
from warnings import warnpy3k
|
||||
warnpy3k("the TarFileCompat class has been removed in Python 3.0",
|
||||
stacklevel=2)
|
||||
if compression == TAR_PLAIN:
|
||||
self.tarfile = TarFile.taropen(file, mode)
|
||||
elif compression == TAR_GZIPPED:
|
||||
|
@ -2501,10 +2504,10 @@ class TarFileCompat:
|
|||
except ImportError:
|
||||
from StringIO import StringIO
|
||||
import calendar
|
||||
zinfo.name = zinfo.filename
|
||||
zinfo.size = zinfo.file_size
|
||||
zinfo.mtime = calendar.timegm(zinfo.date_time)
|
||||
self.tarfile.addfile(zinfo, StringIO(bytes))
|
||||
tinfo = TarInfo(zinfo.filename)
|
||||
tinfo.size = len(bytes)
|
||||
tinfo.mtime = calendar.timegm(zinfo.date_time)
|
||||
self.tarfile.addfile(tinfo, StringIO(bytes))
|
||||
def close(self):
|
||||
self.tarfile.close()
|
||||
#class TarFileCompat
|
||||
|
|
Loading…
Reference in New Issue