summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorLars Gustäbel <lars@gustaebel.de>2008-08-02 11:26:39 (GMT)
committerLars Gustäbel <lars@gustaebel.de>2008-08-02 11:26:39 (GMT)
commit727bd0b6874b32a42762251888cdfc2484286867 (patch)
tree3f055c4ab430b1454cbb34924fe0d51718e5b9d7 /Lib
parentaabf404ecc06f1ddbb4c003508dff78c7ac06012 (diff)
downloadcpython-727bd0b6874b32a42762251888cdfc2484286867.zip
cpython-727bd0b6874b32a42762251888cdfc2484286867.tar.gz
cpython-727bd0b6874b32a42762251888cdfc2484286867.tar.bz2
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.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/tarfile.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index 6199213..85abcd8 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -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