Remove the TarFileCompat class from tarfile.py.

This commit is contained in:
Lars Gustäbel 2008-08-02 11:43:24 +00:00
parent 8e746e3e2d
commit 0c24e8b8ca
3 changed files with 3 additions and 63 deletions

View File

@ -119,21 +119,7 @@ Some facts and figures:
module can read.
.. class:: TarFileCompat(filename, mode='r', compression=TAR_PLAIN)
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.
The :mod:`tarfile` module defines the following exceptions:
.. exception:: TarError

View File

@ -2451,54 +2451,6 @@ class _ringbuffer(list):
self.idx = idx
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
#--------------------

View File

@ -18,6 +18,8 @@ Core and Builtins
Library
-------
- Remove the TarFileCompat class from tarfile.py.
- 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
integer.