Kaydet (Commit) 0c24e8b8 authored tarafından Lars Gustäbel's avatar Lars Gustäbel

Remove the TarFileCompat class from tarfile.py.

üst 8e746e3e
...@@ -119,21 +119,7 @@ Some facts and figures: ...@@ -119,21 +119,7 @@ Some facts and figures:
module can read. module can read.
.. class:: TarFileCompat(filename, mode='r', compression=TAR_PLAIN) The :mod:`tarfile` module defines the following exceptions:
Class for limited access to tar archives with a :mod:`zipfile`\ -like interface.
Please consult the documentation of the :mod:`zipfile` module for more details.
*compression* must be one of the following constants:
.. data:: TAR_PLAIN
Constant for an uncompressed tar archive.
.. data:: TAR_GZIPPED
Constant for a :mod:`gzip` compressed tar archive.
.. exception:: TarError .. exception:: TarError
......
...@@ -2451,54 +2451,6 @@ class _ringbuffer(list): ...@@ -2451,54 +2451,6 @@ class _ringbuffer(list):
self.idx = idx self.idx = idx
return item return item
#---------------------------------------------
# zipfile compatible TarFile class
#---------------------------------------------
TAR_PLAIN = 0 # zipfile.ZIP_STORED
TAR_GZIPPED = 8 # zipfile.ZIP_DEFLATED
class TarFileCompat:
"""TarFile class compatible with standard module zipfile's
ZipFile class.
"""
def __init__(self, file, mode="r", compression=TAR_PLAIN):
if compression == TAR_PLAIN:
self.tarfile = TarFile.taropen(file, mode)
elif compression == TAR_GZIPPED:
self.tarfile = TarFile.gzopen(file, mode)
else:
raise ValueError("unknown compression constant")
if mode[0:1] == "r":
members = self.tarfile.getmembers()
for m in members:
m.filename = m.name
m.file_size = m.size
m.date_time = time.gmtime(m.mtime)[:6]
def namelist(self):
return map(lambda m: m.name, self.infolist())
def infolist(self):
return filter(lambda m: m.type in REGULAR_TYPES,
self.tarfile.getmembers())
def printdir(self):
self.tarfile.list()
def testzip(self):
return
def getinfo(self, name):
return self.tarfile.getmember(name)
def read(self, name):
return self.tarfile.extractfile(self.tarfile.getmember(name)).read()
def write(self, filename, arcname=None, compress_type=None):
self.tarfile.add(filename, arcname)
def writestr(self, zinfo, bytes):
from io 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))
def close(self):
self.tarfile.close()
#class TarFileCompat
#-------------------- #--------------------
# exported functions # exported functions
#-------------------- #--------------------
......
...@@ -18,6 +18,8 @@ Core and Builtins ...@@ -18,6 +18,8 @@ Core and Builtins
Library Library
------- -------
- Remove the TarFileCompat class from tarfile.py.
- Issue #2491: os.fdopen is now almost an alias for the built-in open(), and - Issue #2491: os.fdopen is now almost an alias for the built-in open(), and
accepts the same parameters. It just checks that its first argument is an accepts the same parameters. It just checks that its first argument is an
integer. integer.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment