Unverified Kaydet (Commit) a694f239 authored tarafından Raymond Hettinger's avatar Raymond Hettinger Kaydeden (comit) GitHub

Add missing docstrings for TarInfo objects (#12555)

üst d929f183
...@@ -997,8 +997,8 @@ class HTMLDoc(Doc): ...@@ -997,8 +997,8 @@ class HTMLDoc(Doc):
if name: if name:
push('<dl><dt><strong>%s</strong></dt>\n' % name) push('<dl><dt><strong>%s</strong></dt>\n' % name)
if object.__doc__ is not None: doc = self.markup(getdoc(object), self.preformat)
doc = self.markup(getdoc(object), self.preformat) if doc:
push('<dd><tt>%s</tt></dd>\n' % doc) push('<dd><tt>%s</tt></dd>\n' % doc)
push('</dl>\n') push('</dl>\n')
......
...@@ -717,11 +717,32 @@ class TarInfo(object): ...@@ -717,11 +717,32 @@ class TarInfo(object):
usually created internally. usually created internally.
""" """
__slots__ = ("name", "mode", "uid", "gid", "size", "mtime", __slots__ = dict(
"chksum", "type", "linkname", "uname", "gname", name = 'Name of the archive member.',
"devmajor", "devminor", mode = 'Permission bits.',
"offset", "offset_data", "pax_headers", "sparse", uid = 'User ID of the user who originally stored this member.',
"tarfile", "_sparse_structs", "_link_target") gid = 'Group ID of the user who originally stored this member.',
size = 'Size in bytes.',
mtime = 'Time of last modification.',
chksum = 'Header checksum.',
type = ('File type. type is usually one of these constants: '
'REGTYPE, AREGTYPE, LNKTYPE, SYMTYPE, DIRTYPE, FIFOTYPE, '
'CONTTYPE, CHRTYPE, BLKTYPE, GNUTYPE_SPARSE.'),
linkname = ('Name of the target file name, which is only present '
'in TarInfo objects of type LNKTYPE and SYMTYPE.'),
uname = 'User name.',
gname = 'Group name.',
devmajor = 'Device major number.',
devminor = 'Device minor number.',
offset = 'The tar header starts here.',
offset_data = "The file's data starts here.",
pax_headers = ('A dictionary containing key-value pairs of an '
'associated pax extended header.'),
sparse = 'Sparse member information.',
tarfile = None,
_sparse_structs = None,
_link_target = None,
)
def __init__(self, name=""): def __init__(self, name=""):
"""Construct a TarInfo object. name is the optional name """Construct a TarInfo object. name is the optional name
...@@ -747,10 +768,9 @@ class TarInfo(object): ...@@ -747,10 +768,9 @@ class TarInfo(object):
self.sparse = None # sparse member information self.sparse = None # sparse member information
self.pax_headers = {} # pax header information self.pax_headers = {} # pax header information
# In pax headers the "name" and "linkname" field are called
# "path" and "linkpath".
@property @property
def path(self): def path(self):
'In pax headers, "name" is called "path".'
return self.name return self.name
@path.setter @path.setter
...@@ -759,6 +779,7 @@ class TarInfo(object): ...@@ -759,6 +779,7 @@ class TarInfo(object):
@property @property
def linkpath(self): def linkpath(self):
'In pax headers, "linkname" is called "linkpath".'
return self.linkname return self.linkname
@linkpath.setter @linkpath.setter
...@@ -1350,24 +1371,42 @@ class TarInfo(object): ...@@ -1350,24 +1371,42 @@ class TarInfo(object):
return blocks * BLOCKSIZE return blocks * BLOCKSIZE
def isreg(self): def isreg(self):
'Return True if the Tarinfo object is a regular file.'
return self.type in REGULAR_TYPES return self.type in REGULAR_TYPES
def isfile(self): def isfile(self):
'Return True if the Tarinfo object is a regular file.'
return self.isreg() return self.isreg()
def isdir(self): def isdir(self):
'Return True if it is a directory.'
return self.type == DIRTYPE return self.type == DIRTYPE
def issym(self): def issym(self):
'Return True if it is a symbolic link.'
return self.type == SYMTYPE return self.type == SYMTYPE
def islnk(self): def islnk(self):
'Return True if it is a hard link.'
return self.type == LNKTYPE return self.type == LNKTYPE
def ischr(self): def ischr(self):
'Return True if it is a character device.'
return self.type == CHRTYPE return self.type == CHRTYPE
def isblk(self): def isblk(self):
'Return True if it is a block device.'
return self.type == BLKTYPE return self.type == BLKTYPE
def isfifo(self): def isfifo(self):
'Return True if it is a FIFO.'
return self.type == FIFOTYPE return self.type == FIFOTYPE
def issparse(self): def issparse(self):
return self.sparse is not None return self.sparse is not None
def isdev(self): def isdev(self):
'Return True if it is one of character device, block device or FIFO.'
return self.type in (CHRTYPE, BLKTYPE, FIFOTYPE) return self.type in (CHRTYPE, BLKTYPE, FIFOTYPE)
# class TarInfo # class TarInfo
......
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