tarfile (version 1.8.12.2, $Date: 2003/11/06 13:57:49 $)
index
/usr/local/lib/python2.3/tarfile.py

Read from and write to tar format archives.

 
Modules
       
errno
grp
os
pwd
shutil
stat
struct
sys
time

 
Classes
       
exceptions.Exception
TarError
CompressionError
ExtractError
ReadError
StreamError
TarFileCompat
TarIter
__builtin__.object
ExFileObject
TarFile
TarInfo

 
class CompressionError(TarError)
    Exception for unavailable compression methods.
 
 
Method resolution order:
CompressionError
TarError
exceptions.Exception

Methods inherited from exceptions.Exception:
__getitem__(...)
__init__(...)
__str__(...)

 
class ExFileObject(__builtin__.object)
    File-like object for reading an archive member.
Is returned by TarFile.extractfile(). Support for
sparse files included.
 
  Methods defined here:
__init__(self, tarfile, tarinfo)
close(self)
Close the file object.
readline(self, size=-1)
Read a line with approx. size. If size is negative,
read a whole line. readline() and read() must not
be mixed up (!).
readlines(self)
Return a list with all (following) lines.
seek(self, pos, whence=0)
Seek to a position in the file.
tell(self)
Return the current file position.

Data and other attributes defined here:
__dict__ = <dictproxy object>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'ExFileObject' objects>
list of weak references to the object (if defined)

 
class ExtractError(TarError)
    General exception for extract errors.
 
 
Method resolution order:
ExtractError
TarError
exceptions.Exception

Methods inherited from exceptions.Exception:
__getitem__(...)
__init__(...)
__str__(...)

 
class ReadError(TarError)
    Exception for unreadble tar archives.
 
 
Method resolution order:
ReadError
TarError
exceptions.Exception

Methods inherited from exceptions.Exception:
__getitem__(...)
__init__(...)
__str__(...)

 
class StreamError(TarError)
    Exception for unsupported operations on stream-like TarFiles.
 
 
Method resolution order:
StreamError
TarError
exceptions.Exception

Methods inherited from exceptions.Exception:
__getitem__(...)
__init__(...)
__str__(...)

 
class TarError(exceptions.Exception)
    Base exception.
 
  Methods inherited from exceptions.Exception:
__getitem__(...)
__init__(...)
__str__(...)

 
class TarFile(__builtin__.object)
    The TarFile Class provides an interface to tar archives.
 
  Methods defined here:
__init__(self, name=None, mode='r', fileobj=None)
Open an (uncompressed) tar archive `name'. `mode' is either 'r' to
read from an existing archive, 'a' to append data to an existing
file or 'w' to create a new file overwriting an existing one. `mode'
defaults to 'r'.
If `fileobj' is given, it is used for reading or writing data. If it
can be determined, `mode' is overridden by `fileobj's mode.
`fileobj' is not closed, when TarFile is closed.
__iter__(self)
Provide an iterator object.
add(self, name, arcname=None, recursive=True)
Add the file `name' to the archive. `name' may be any type of file
(directory, fifo, symbolic link, etc.). If given, `arcname'
specifies an alternative name for the file in the archive.
Directories are added recursively by default. This can be avoided by
setting `recursive' to False.
addfile(self, tarinfo, fileobj=None)
Add the TarInfo object `tarinfo' to the archive. If `fileobj' is
given, tarinfo.size bytes are read from it and added to the archive.
You can create TarInfo objects using gettarinfo().
On Windows platforms, `fileobj' should always be opened with mode
'rb' to avoid irritation about the file size.
chmod(self, tarinfo, targetpath)
Set file permissions of targetpath according to tarinfo.
chown(self, tarinfo, targetpath)
Set owner of targetpath according to tarinfo.
close(self)
Close the TarFile. In write-mode, two finishing zero blocks are
appended to the archive.
extract(self, member, path='')
Extract a member from the archive to the current working directory,
using its full name. Its file information is extracted as accurately
as possible. `member' may be a filename or a TarInfo object. You can
specify a different directory using `path'.
extractfile(self, member)
Extract a member from the archive as a file object. `member' may be
a filename or a TarInfo object. If `member' is a regular file, a
file-like object is returned. If `member' is a link, a file-like
object is constructed from the link's target. If `member' is none of
the above, None is returned.
The file-like object is read-only and provides the following
methods: read(), readline(), readlines(), seek() and tell()
getmember(self, name)
Return a TarInfo object for member `name'. If `name' can not be
found in the archive, KeyError is raised. If a member occurs more
than once in the archive, its last occurence is assumed to be the
most up-to-date version.
getmembers(self)
Return the members of the archive as a list of TarInfo objects. The
list has the same order as the members in the archive.
getnames(self)
Return the members of the archive as a list of their names. It has
the same order as the list returned by getmembers().
gettarinfo(self, name=None, arcname=None, fileobj=None)
Create a TarInfo object for either the file `name' or the file
object `fileobj' (using os.fstat on its file descriptor). You can
modify some of the TarInfo's attributes before you add it using
addfile(). If given, `arcname' specifies an alternative name for the
file in the archive.
list(self, verbose=True)
Print a table of contents to sys.stdout. If `verbose' is False, only
the names of the members are printed. If it is True, an `ls -l'-like
output is produced.
makedev(self, tarinfo, targetpath)
Make a character or block device called targetpath.
makedir(self, tarinfo, targetpath)
Make a directory called targetpath.
makefifo(self, tarinfo, targetpath)
Make a fifo called targetpath.
makefile(self, tarinfo, targetpath)
Make a file called targetpath.
makelink(self, tarinfo, targetpath)
Make a (symbolic) link called targetpath. If it cannot be created
(platform limitation), we try to make a copy of the referenced file
instead of a link.
makeunknown(self, tarinfo, targetpath)
Make a file from a TarInfo object with an unknown type
at targetpath.
next(self)
Return the next member of the archive as a TarInfo object, when
TarFile is opened for reading. Return None if there is no more
available.
proc_gnulong(self, tarinfo)
Evaluate the blocks that hold a GNU longname
or longlink member.
proc_sparse(self, tarinfo)
Analyze a GNU sparse header plus extra headers.
utime(self, tarinfo, targetpath)
Set modification time of targetpath according to tarinfo.

Class methods defined here:
bz2open(cls, name, mode='r', fileobj=None, compresslevel=9) from __builtin__.type
Open bzip2 compressed tar archive name for reading or writing.
Appending is not allowed.
gzopen(cls, name, mode='r', fileobj=None, compresslevel=9) from __builtin__.type
Open gzip compressed tar archive name for reading or writing.
Appending is not allowed.
open(cls, name=None, mode='r', fileobj=None, bufsize=10240) from __builtin__.type
Open a tar archive for reading, writing or appending. Return
an appropriate TarFile class.
 
mode:
'r'          open for reading with transparent compression
'r:'         open for reading exclusively uncompressed
'r:gz'       open for reading with gzip compression
'r:bz2'      open for reading with bzip2 compression
'a' or 'a:'  open for appending
'w' or 'w:'  open for writing without compression
'w:gz'       open for writing with gzip compression
'w:bz2'      open for writing with bzip2 compression
'r|'         open an uncompressed stream of tar blocks for reading
'r|gz'       open a gzip compressed stream of tar blocks
'r|bz2'      open a bzip2 compressed stream of tar blocks
'w|'         open an uncompressed stream for writing
'w|gz'       open a gzip compressed stream for writing
'w|bz2'      open a bzip2 compressed stream for writing
taropen(cls, name, mode='r', fileobj=None) from __builtin__.type
Open uncompressed tar archive name for reading or writing.

Data and other attributes defined here:
OPEN_METH = {'bz2': 'bz2open', 'gz': 'gzopen', 'tar': 'taropen'}
TYPE_METH = {'K': <function proc_gnulong>, 'L': <function proc_gnulong>, 'S': <function proc_sparse>}
__dict__ = <dictproxy object>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'TarFile' objects>
list of weak references to the object (if defined)
debug = 0
dereference = False
errorlevel = 0
fileobject = <class 'tarfile.ExFileObject'>
File-like object for reading an archive member.
Is returned by TarFile.extractfile(). Support for
sparse files included.
ignore_zeros = False
posix = True

 
class TarFileCompat
    TarFile class compatible with standard module zipfile's
ZipFile class.
 
  Methods defined here:
__init__(self, file, mode='r', compression=0)
close(self)
getinfo(self, name)
infolist(self)
namelist(self)
printdir(self)
read(self, name)
testzip(self)
write(self, filename, arcname=None, compress_type=None)
writestr(self, zinfo, bytes)

 
class TarInfo(__builtin__.object)
    Informational class which holds the details about an
archive member given by a tar header block.
TarInfo objects are returned by TarFile.getmember(),
TarFile.getmembers() and TarFile.gettarinfo() and are
usually created internally.
 
  Methods defined here:
__init__(self, name='')
Construct a TarInfo object. name is the optional name
of the member.
__repr__(self)
isblk(self)
ischr(self)
isdev(self)
isdir(self)
isfifo(self)
isfile(self)
islnk(self)
isreg(self)
issparse(self)
issym(self)
tobuf(self)
Return a tar header block as a 512 byte string.

Class methods defined here:
frombuf(cls, buf) from __builtin__.type
Construct a TarInfo object from a 512 byte string buffer.

Data and other attributes defined here:
__dict__ = <dictproxy object>
dictionary for instance variables (if defined)
__weakref__ = <attribute '__weakref__' of 'TarInfo' objects>
list of weak references to the object (if defined)

 
class TarIter
    Iterator Class.
 
for tarinfo in TarFile(...):
    suite...
 
  Methods defined here:
__init__(self, tarfile)
Construct a TarIter object.
__iter__(self)
Return iterator object.
next(self)
Return the next item using TarFile's next() method.
When all members have been read, set TarFile as _loaded.

 
Functions
       
calc_chksum(buf)
Calculate the checksum for a member's header. It's a simple addition
of all bytes, treating the chksum field as if filled with spaces.
buf is a 512 byte long string buffer which holds the header.
copyfileobj(src, dst, length=None)
Copy length bytes from fileobj src to fileobj dst.
If length is None, copy the entire content.
filemode(mode)
Convert a file's mode to a string of the form
-rwxrwxrwx.
Used by TarFile.list()
is_tarfile(name)
Return True if name points to a tar archive that we
are able to handle, else return False.
nts(s)
Convert a null-terminated string buffer to a python string.
open(cls, name=None, mode='r', fileobj=None, bufsize=10240) method of __builtin__.type instance
Open a tar archive for reading, writing or appending. Return
an appropriate TarFile class.
 
mode:
'r'          open for reading with transparent compression
'r:'         open for reading exclusively uncompressed
'r:gz'       open for reading with gzip compression
'r:bz2'      open for reading with bzip2 compression
'a' or 'a:'  open for appending
'w' or 'w:'  open for writing without compression
'w:gz'       open for writing with gzip compression
'w:bz2'      open for writing with bzip2 compression
'r|'         open an uncompressed stream of tar blocks for reading
'r|gz'       open a gzip compressed stream of tar blocks
'r|bz2'      open a bzip2 compressed stream of tar blocks
'w|'         open an uncompressed stream for writing
'w|gz'       open a gzip compressed stream for writing
'w|bz2'      open a bzip2 compressed stream for writing

 
Data
        AREGTYPE = '\x00'
BLKTYPE = '4'
BLOCKSIZE = 512
CHRTYPE = '3'
CONTTYPE = '7'
DIRTYPE = '5'
FIFOTYPE = '6'
GNUTYPE_LONGLINK = 'K'
GNUTYPE_LONGNAME = 'L'
GNUTYPE_SPARSE = 'S'
LENGTH_LINK = 100
LENGTH_NAME = 100
LENGTH_PREFIX = 155
LNKTYPE = '1'
MAGIC = 'ustar'
MAXSIZE_MEMBER = 8589934591L
NUL = '\x00'
RECORDSIZE = 10240
REGTYPE = '0'
REGULAR_TYPES = ('0', '\x00', '7', 'S')
SUPPORTED_TYPES = ('0', '\x00', '1', '2', '5', '6', '7', '3', '4', 'L', 'K', 'S')
SYMTYPE = '2'
S_IFBLK = 24576
S_IFCHR = 8192
S_IFDIR = 16384
S_IFIFO = 4096
S_IFLNK = 40960
S_IFREG = 32768
TAR_GZIPPED = 8
TAR_PLAIN = 0
TGEXEC = 8
TGREAD = 32
TGWRITE = 16
TOEXEC = 1
TOREAD = 4
TOWRITE = 2
TSGID = 1024
TSUID = 2048
TSVTX = 512
TUEXEC = 64
TUREAD = 256
TUWRITE = 128
VERSION = '00'
__all__ = ['TarFile', 'TarInfo', 'is_tarfile', 'TarError']
__author__ = 'Lars Gust\xe4bel (lars@gustaebel.de)'
__credits__ = 'Gustavo Niemeyer, Niels Gust\xe4bel, Richard Townsend.'
__cvsid__ = '$Id: tarfile.py,v 1.8.12.2 2003/11/06 13:57:49 anthonybaxter Exp $'
__date__ = '$Date: 2003/11/06 13:57:49 $'
__version__ = '$Revision: 1.8.12.2 $'
filemode_table = ((40960, 'l', 32768, '-', 24576, 'b', 16384, 'd', 8192, 'c', 4096, 'p'), (256, 'r'), (128, 'w'), (64, 'x', 2048, 'S', 2112, 's'), (32, 'r'), (16, 'w'), (8, 'x', 1024, 'S', 1032, 's'), (4, 'r'), (2, 'w'), (1, 'x', 512, 'T', 513, 't'))
version = '0.6.4'

 
Author
        Lars Gustäbel (lars@gustaebel.de)

 
Credits
        Gustavo Niemeyer, Niels Gustäbel, Richard Townsend.