Format: application/octet-stream
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