Format: application/octet-stream
⬇ Download File (8.0 KB)
   1  import sys
   2  from _typeshed import AnyPath, StrPath
   3  from types import TracebackType
   4  from typing import IO, Callable, Dict, Iterable, Iterator, List, Mapping, Optional, Set, Tuple, Type, Union
   5  
   6  # tar constants
   7  NUL: bytes
   8  BLOCKSIZE: int
   9  RECORDSIZE: int
  10  GNU_MAGIC: bytes
  11  POSIX_MAGIC: bytes
  12  
  13  LENGTH_NAME: int
  14  LENGTH_LINK: int
  15  LENGTH_PREFIX: int
  16  
  17  REGTYPE: bytes
  18  AREGTYPE: bytes
  19  LNKTYPE: bytes
  20  SYMTYPE: bytes
  21  CONTTYPE: bytes
  22  BLKTYPE: bytes
  23  DIRTYPE: bytes
  24  FIFOTYPE: bytes
  25  CHRTYPE: bytes
  26  
  27  GNUTYPE_LONGNAME: bytes
  28  GNUTYPE_LONGLINK: bytes
  29  GNUTYPE_SPARSE: bytes
  30  
  31  XHDTYPE: bytes
  32  XGLTYPE: bytes
  33  SOLARIS_XHDTYPE: bytes
  34  
  35  USTAR_FORMAT: int
  36  GNU_FORMAT: int
  37  PAX_FORMAT: int
  38  DEFAULT_FORMAT: int
  39  
  40  # tarfile constants
  41  
  42  SUPPORTED_TYPES: Tuple[bytes, ...]
  43  REGULAR_TYPES: Tuple[bytes, ...]
  44  GNU_TYPES: Tuple[bytes, ...]
  45  PAX_FIELDS: Tuple[str, ...]
  46  PAX_NUMBER_FIELDS: Dict[str, type]
  47  
  48  if sys.version_info >= (3,):
  49      PAX_NAME_FIELDS: Set[str]
  50  
  51  ENCODING: str
  52  
  53  if sys.version_info < (3,):
  54      TAR_PLAIN: int
  55      TAR_GZIPPED: int
  56  
  57  def open(
  58      name: Optional[AnyPath] = ...,
  59      mode: str = ...,
  60      fileobj: Optional[IO[bytes]] = ...,
  61      bufsize: int = ...,
  62      *,
  63      format: Optional[int] = ...,
  64      tarinfo: Optional[Type[TarInfo]] = ...,
  65      dereference: Optional[bool] = ...,
  66      ignore_zeros: Optional[bool] = ...,
  67      encoding: Optional[str] = ...,
  68      errors: str = ...,
  69      pax_headers: Optional[Mapping[str, str]] = ...,
  70      debug: Optional[int] = ...,
  71      errorlevel: Optional[int] = ...,
  72      compresslevel: Optional[int] = ...,
  73  ) -> TarFile: ...
  74  
  75  class TarFile(Iterable[TarInfo]):
  76      name: Optional[AnyPath]
  77      mode: str
  78      fileobj: Optional[IO[bytes]]
  79      format: Optional[int]
  80      tarinfo: Type[TarInfo]
  81      dereference: Optional[bool]
  82      ignore_zeros: Optional[bool]
  83      encoding: Optional[str]
  84      errors: str
  85      pax_headers: Optional[Mapping[str, str]]
  86      debug: Optional[int]
  87      errorlevel: Optional[int]
  88      if sys.version_info < (3,):
  89          posix: bool
  90      def __init__(
  91          self,
  92          name: Optional[AnyPath] = ...,
  93          mode: str = ...,
  94          fileobj: Optional[IO[bytes]] = ...,
  95          format: Optional[int] = ...,
  96          tarinfo: Optional[Type[TarInfo]] = ...,
  97          dereference: Optional[bool] = ...,
  98          ignore_zeros: Optional[bool] = ...,
  99          encoding: Optional[str] = ...,
 100          errors: str = ...,
 101          pax_headers: Optional[Mapping[str, str]] = ...,
 102          debug: Optional[int] = ...,
 103          errorlevel: Optional[int] = ...,
 104          copybufsize: Optional[int] = ...,  # undocumented
 105      ) -> None: ...
 106      def __enter__(self) -> TarFile: ...
 107      def __exit__(
 108          self, exc_type: Optional[Type[BaseException]], exc_val: Optional[BaseException], exc_tb: Optional[TracebackType]
 109      ) -> None: ...
 110      def __iter__(self) -> Iterator[TarInfo]: ...
 111      @classmethod
 112      def open(
 113          cls,
 114          name: Optional[AnyPath] = ...,
 115          mode: str = ...,
 116          fileobj: Optional[IO[bytes]] = ...,
 117          bufsize: int = ...,
 118          *,
 119          format: Optional[int] = ...,
 120          tarinfo: Optional[Type[TarInfo]] = ...,
 121          dereference: Optional[bool] = ...,
 122          ignore_zeros: Optional[bool] = ...,
 123          encoding: Optional[str] = ...,
 124          errors: str = ...,
 125          pax_headers: Optional[Mapping[str, str]] = ...,
 126          debug: Optional[int] = ...,
 127          errorlevel: Optional[int] = ...,
 128      ) -> TarFile: ...
 129      def getmember(self, name: str) -> TarInfo: ...
 130      def getmembers(self) -> List[TarInfo]: ...
 131      def getnames(self) -> List[str]: ...
 132      if sys.version_info >= (3, 5):
 133          def list(self, verbose: bool = ..., *, members: Optional[List[TarInfo]] = ...) -> None: ...
 134      else:
 135          def list(self, verbose: bool = ...) -> None: ...
 136      def next(self) -> Optional[TarInfo]: ...
 137      if sys.version_info >= (3, 5):
 138          def extractall(
 139              self, path: AnyPath = ..., members: Optional[List[TarInfo]] = ..., *, numeric_owner: bool = ...
 140          ) -> None: ...
 141      else:
 142          def extractall(self, path: AnyPath = ..., members: Optional[List[TarInfo]] = ...) -> None: ...
 143      if sys.version_info >= (3, 5):
 144          def extract(
 145              self, member: Union[str, TarInfo], path: AnyPath = ..., set_attrs: bool = ..., *, numeric_owner: bool = ...
 146          ) -> None: ...
 147      else:
 148          def extract(self, member: Union[str, TarInfo], path: AnyPath = ...) -> None: ...
 149      def extractfile(self, member: Union[str, TarInfo]) -> Optional[IO[bytes]]: ...
 150      def makedir(self, tarinfo: TarInfo, targetpath: AnyPath) -> None: ...  # undocumented
 151      def makefile(self, tarinfo: TarInfo, targetpath: AnyPath) -> None: ...  # undocumented
 152      def makeunknown(self, tarinfo: TarInfo, targetpath: AnyPath) -> None: ...  # undocumented
 153      def makefifo(self, tarinfo: TarInfo, targetpath: AnyPath) -> None: ...  # undocumented
 154      def makedev(self, tarinfo: TarInfo, targetpath: AnyPath) -> None: ...  # undocumented
 155      def makelink(self, tarinfo: TarInfo, targetpath: AnyPath) -> None: ...  # undocumented
 156      if sys.version_info >= (3, 5):
 157          def chown(self, tarinfo: TarInfo, targetpath: AnyPath, numeric_owner: bool) -> None: ...  # undocumented
 158      else:
 159          def chown(self, tarinfo: TarInfo, targetpath: AnyPath) -> None: ...  # undocumented
 160      def chmod(self, tarinfo: TarInfo, targetpath: AnyPath) -> None: ...  # undocumented
 161      def utime(self, tarinfo: TarInfo, targetpath: AnyPath) -> None: ...  # undocumented
 162      if sys.version_info >= (3, 7):
 163          def add(
 164              self,
 165              name: StrPath,
 166              arcname: Optional[StrPath] = ...,
 167              recursive: bool = ...,
 168              *,
 169              filter: Optional[Callable[[TarInfo], Optional[TarInfo]]] = ...,
 170          ) -> None: ...
 171      elif sys.version_info >= (3,):
 172          def add(
 173              self,
 174              name: StrPath,
 175              arcname: Optional[StrPath] = ...,
 176              recursive: bool = ...,
 177              exclude: Optional[Callable[[str], bool]] = ...,
 178              *,
 179              filter: Optional[Callable[[TarInfo], Optional[TarInfo]]] = ...,
 180          ) -> None: ...
 181      else:
 182          def add(
 183              self,
 184              name: str,
 185              arcname: Optional[str] = ...,
 186              recursive: bool = ...,
 187              exclude: Optional[Callable[[str], bool]] = ...,
 188              filter: Optional[Callable[[TarInfo], Optional[TarInfo]]] = ...,
 189          ) -> None: ...
 190      def addfile(self, tarinfo: TarInfo, fileobj: Optional[IO[bytes]] = ...) -> None: ...
 191      def gettarinfo(
 192          self, name: Optional[str] = ..., arcname: Optional[str] = ..., fileobj: Optional[IO[bytes]] = ...
 193      ) -> TarInfo: ...
 194      def close(self) -> None: ...
 195  
 196  if sys.version_info >= (3, 9):
 197      def is_tarfile(name: Union[AnyPath, IO[bytes]]) -> bool: ...
 198  
 199  else:
 200      def is_tarfile(name: AnyPath) -> bool: ...
 201  
 202  if sys.version_info < (3, 8):
 203      def filemode(mode: int) -> str: ...  # undocumented
 204  
 205  if sys.version_info < (3,):
 206      class TarFileCompat:
 207          def __init__(self, filename: str, mode: str = ..., compression: int = ...) -> None: ...
 208  
 209  class TarError(Exception): ...
 210  class ReadError(TarError): ...
 211  class CompressionError(TarError): ...
 212  class StreamError(TarError): ...
 213  class ExtractError(TarError): ...
 214  class HeaderError(TarError): ...
 215  
 216  class TarInfo:
 217      name: str
 218      size: int
 219      mtime: int
 220      mode: int
 221      type: bytes
 222      linkname: str
 223      uid: int
 224      gid: int
 225      uname: str
 226      gname: str
 227      pax_headers: Mapping[str, str]
 228      def __init__(self, name: str = ...) -> None: ...
 229      if sys.version_info >= (3,):
 230          @classmethod
 231          def frombuf(cls, buf: bytes, encoding: str, errors: str) -> TarInfo: ...
 232      else:
 233          @classmethod
 234          def frombuf(cls, buf: bytes) -> TarInfo: ...
 235      @classmethod
 236      def fromtarfile(cls, tarfile: TarFile) -> TarInfo: ...
 237      def tobuf(self, format: Optional[int] = ..., encoding: Optional[str] = ..., errors: str = ...) -> bytes: ...
 238      def isfile(self) -> bool: ...
 239      def isreg(self) -> bool: ...
 240      def isdir(self) -> bool: ...
 241      def issym(self) -> bool: ...
 242      def islnk(self) -> bool: ...
 243      def ischr(self) -> bool: ...
 244      def isblk(self) -> bool: ...
 245      def isfifo(self) -> bool: ...
 246      def isdev(self) -> bool: ...
 247