massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stdlib / tarfile.pyi
diff --git a/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stdlib/tarfile.pyi b/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stdlib/tarfile.pyi
new file mode 100644 (file)
index 0000000..0134316
--- /dev/null
@@ -0,0 +1,370 @@
+import bz2
+import io
+import sys
+from _typeshed import Self, StrOrBytesPath, StrPath
+from collections.abc import Callable, Iterable, Iterator, Mapping
+from gzip import _ReadableFileobj as _GzipReadableFileobj, _WritableFileobj as _GzipWritableFileobj
+from types import TracebackType
+from typing import IO, Protocol, Tuple, Type, TypeVar, overload
+from typing_extensions import Literal
+
+_TF = TypeVar("_TF", bound=TarFile)
+
+class _Fileobj(Protocol):
+    def read(self, __size: int) -> bytes: ...
+    def write(self, __b: bytes) -> object: ...
+    def tell(self) -> int: ...
+    def seek(self, __pos: int) -> object: ...
+    def close(self) -> object: ...
+    # Optional fields:
+    # name: str | bytes
+    # mode: Literal["rb", "r+b", "wb", "xb"]
+
+class _Bz2ReadableFileobj(bz2._ReadableFileobj):
+    def close(self) -> object: ...
+
+class _Bz2WritableFileobj(bz2._WritableFileobj):
+    def close(self) -> object: ...
+
+# tar constants
+NUL: bytes
+BLOCKSIZE: int
+RECORDSIZE: int
+GNU_MAGIC: bytes
+POSIX_MAGIC: bytes
+
+LENGTH_NAME: int
+LENGTH_LINK: int
+LENGTH_PREFIX: int
+
+REGTYPE: bytes
+AREGTYPE: bytes
+LNKTYPE: bytes
+SYMTYPE: bytes
+CONTTYPE: bytes
+BLKTYPE: bytes
+DIRTYPE: bytes
+FIFOTYPE: bytes
+CHRTYPE: bytes
+
+GNUTYPE_LONGNAME: bytes
+GNUTYPE_LONGLINK: bytes
+GNUTYPE_SPARSE: bytes
+
+XHDTYPE: bytes
+XGLTYPE: bytes
+SOLARIS_XHDTYPE: bytes
+
+USTAR_FORMAT: int
+GNU_FORMAT: int
+PAX_FORMAT: int
+DEFAULT_FORMAT: int
+
+# tarfile constants
+
+SUPPORTED_TYPES: Tuple[bytes, ...]
+REGULAR_TYPES: Tuple[bytes, ...]
+GNU_TYPES: Tuple[bytes, ...]
+PAX_FIELDS: Tuple[str, ...]
+PAX_NUMBER_FIELDS: dict[str, type]
+PAX_NAME_FIELDS: set[str]
+
+ENCODING: str
+
+def open(
+    name: StrOrBytesPath | None = ...,
+    mode: str = ...,
+    fileobj: IO[bytes] | None = ...,  # depends on mode
+    bufsize: int = ...,
+    *,
+    format: int | None = ...,
+    tarinfo: Type[TarInfo] | None = ...,
+    dereference: bool | None = ...,
+    ignore_zeros: bool | None = ...,
+    encoding: str | None = ...,
+    errors: str = ...,
+    pax_headers: Mapping[str, str] | None = ...,
+    debug: int | None = ...,
+    errorlevel: int | None = ...,
+    compresslevel: int | None = ...,
+) -> TarFile: ...
+
+class ExFileObject(io.BufferedReader):
+    def __init__(self, tarfile: TarFile, tarinfo: TarInfo) -> None: ...
+
+_list = list  # conflicts with method name
+
+class TarFile:
+    OPEN_METH: Mapping[str, str]
+    name: StrOrBytesPath | None
+    mode: Literal["r", "a", "w", "x"]
+    fileobj: _Fileobj | None
+    format: int | None
+    tarinfo: Type[TarInfo]
+    dereference: bool | None
+    ignore_zeros: bool | None
+    encoding: str | None
+    errors: str
+    fileobject: Type[ExFileObject]
+    pax_headers: Mapping[str, str] | None
+    debug: int | None
+    errorlevel: int | None
+    offset: int  # undocumented
+    def __init__(
+        self,
+        name: StrOrBytesPath | None = ...,
+        mode: Literal["r", "a", "w", "x"] = ...,
+        fileobj: _Fileobj | None = ...,
+        format: int | None = ...,
+        tarinfo: Type[TarInfo] | None = ...,
+        dereference: bool | None = ...,
+        ignore_zeros: bool | None = ...,
+        encoding: str | None = ...,
+        errors: str = ...,
+        pax_headers: Mapping[str, str] | None = ...,
+        debug: int | None = ...,
+        errorlevel: int | None = ...,
+        copybufsize: int | None = ...,  # undocumented
+    ) -> None: ...
+    def __enter__(self: Self) -> Self: ...
+    def __exit__(
+        self, exc_type: Type[BaseException] | None, exc_val: BaseException | None, exc_tb: TracebackType | None
+    ) -> None: ...
+    def __iter__(self) -> Iterator[TarInfo]: ...
+    @classmethod
+    def open(
+        cls: Type[_TF],
+        name: StrOrBytesPath | None = ...,
+        mode: str = ...,
+        fileobj: IO[bytes] | None = ...,  # depends on mode
+        bufsize: int = ...,
+        *,
+        format: int | None = ...,
+        tarinfo: Type[TarInfo] | None = ...,
+        dereference: bool | None = ...,
+        ignore_zeros: bool | None = ...,
+        encoding: str | None = ...,
+        errors: str = ...,
+        pax_headers: Mapping[str, str] | None = ...,
+        debug: int | None = ...,
+        errorlevel: int | None = ...,
+    ) -> _TF: ...
+    @classmethod
+    def taropen(
+        cls: Type[_TF],
+        name: StrOrBytesPath | None,
+        mode: Literal["r", "a", "w", "x"] = ...,
+        fileobj: _Fileobj | None = ...,
+        *,
+        compresslevel: int = ...,
+        format: int | None = ...,
+        tarinfo: Type[TarInfo] | None = ...,
+        dereference: bool | None = ...,
+        ignore_zeros: bool | None = ...,
+        encoding: str | None = ...,
+        pax_headers: Mapping[str, str] | None = ...,
+        debug: int | None = ...,
+        errorlevel: int | None = ...,
+    ) -> _TF: ...
+    @overload
+    @classmethod
+    def gzopen(
+        cls: Type[_TF],
+        name: StrOrBytesPath | None,
+        mode: Literal["r"] = ...,
+        fileobj: _GzipReadableFileobj | None = ...,
+        compresslevel: int = ...,
+        *,
+        format: int | None = ...,
+        tarinfo: Type[TarInfo] | None = ...,
+        dereference: bool | None = ...,
+        ignore_zeros: bool | None = ...,
+        encoding: str | None = ...,
+        pax_headers: Mapping[str, str] | None = ...,
+        debug: int | None = ...,
+        errorlevel: int | None = ...,
+    ) -> _TF: ...
+    @overload
+    @classmethod
+    def gzopen(
+        cls: Type[_TF],
+        name: StrOrBytesPath | None,
+        mode: Literal["w", "x"],
+        fileobj: _GzipWritableFileobj | None = ...,
+        compresslevel: int = ...,
+        *,
+        format: int | None = ...,
+        tarinfo: Type[TarInfo] | None = ...,
+        dereference: bool | None = ...,
+        ignore_zeros: bool | None = ...,
+        encoding: str | None = ...,
+        pax_headers: Mapping[str, str] | None = ...,
+        debug: int | None = ...,
+        errorlevel: int | None = ...,
+    ) -> _TF: ...
+    @overload
+    @classmethod
+    def bz2open(
+        cls: Type[_TF],
+        name: StrOrBytesPath | None,
+        mode: Literal["w", "x"],
+        fileobj: _Bz2WritableFileobj | None = ...,
+        compresslevel: int = ...,
+        *,
+        format: int | None = ...,
+        tarinfo: Type[TarInfo] | None = ...,
+        dereference: bool | None = ...,
+        ignore_zeros: bool | None = ...,
+        encoding: str | None = ...,
+        pax_headers: Mapping[str, str] | None = ...,
+        debug: int | None = ...,
+        errorlevel: int | None = ...,
+    ) -> _TF: ...
+    @overload
+    @classmethod
+    def bz2open(
+        cls: Type[_TF],
+        name: StrOrBytesPath | None,
+        mode: Literal["r"] = ...,
+        fileobj: _Bz2ReadableFileobj | None = ...,
+        compresslevel: int = ...,
+        *,
+        format: int | None = ...,
+        tarinfo: Type[TarInfo] | None = ...,
+        dereference: bool | None = ...,
+        ignore_zeros: bool | None = ...,
+        encoding: str | None = ...,
+        pax_headers: Mapping[str, str] | None = ...,
+        debug: int | None = ...,
+        errorlevel: int | None = ...,
+    ) -> _TF: ...
+    @classmethod
+    def xzopen(
+        cls: Type[_TF],
+        name: StrOrBytesPath | None,
+        mode: Literal["r", "w", "x"] = ...,
+        fileobj: IO[bytes] | None = ...,
+        preset: int | None = ...,
+        *,
+        format: int | None = ...,
+        tarinfo: Type[TarInfo] | None = ...,
+        dereference: bool | None = ...,
+        ignore_zeros: bool | None = ...,
+        encoding: str | None = ...,
+        pax_headers: Mapping[str, str] | None = ...,
+        debug: int | None = ...,
+        errorlevel: int | None = ...,
+    ) -> _TF: ...
+    def getmember(self, name: str) -> TarInfo: ...
+    def getmembers(self) -> _list[TarInfo]: ...
+    def getnames(self) -> _list[str]: ...
+    def list(self, verbose: bool = ..., *, members: _list[TarInfo] | None = ...) -> None: ...
+    def next(self) -> TarInfo | None: ...
+    def extractall(
+        self, path: StrOrBytesPath = ..., members: Iterable[TarInfo] | None = ..., *, numeric_owner: bool = ...
+    ) -> None: ...
+    def extract(
+        self, member: str | TarInfo, path: StrOrBytesPath = ..., set_attrs: bool = ..., *, numeric_owner: bool = ...
+    ) -> None: ...
+    def _extract_member(
+        self, tarinfo: TarInfo, targetpath: str, set_attrs: bool = ..., numeric_owner: bool = ...
+    ) -> None: ...  # undocumented
+    def extractfile(self, member: str | TarInfo) -> IO[bytes] | None: ...
+    def makedir(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ...  # undocumented
+    def makefile(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ...  # undocumented
+    def makeunknown(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ...  # undocumented
+    def makefifo(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ...  # undocumented
+    def makedev(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ...  # undocumented
+    def makelink(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ...  # undocumented
+    def chown(self, tarinfo: TarInfo, targetpath: StrOrBytesPath, numeric_owner: bool) -> None: ...  # undocumented
+    def chmod(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ...  # undocumented
+    def utime(self, tarinfo: TarInfo, targetpath: StrOrBytesPath) -> None: ...  # undocumented
+    if sys.version_info >= (3, 7):
+        def add(
+            self,
+            name: StrPath,
+            arcname: StrPath | None = ...,
+            recursive: bool = ...,
+            *,
+            filter: Callable[[TarInfo], TarInfo | None] | None = ...,
+        ) -> None: ...
+    else:
+        def add(
+            self,
+            name: StrPath,
+            arcname: StrPath | None = ...,
+            recursive: bool = ...,
+            exclude: Callable[[str], bool] | None = ...,
+            *,
+            filter: Callable[[TarInfo], TarInfo | None] | None = ...,
+        ) -> None: ...
+    def addfile(self, tarinfo: TarInfo, fileobj: IO[bytes] | None = ...) -> None: ...
+    def gettarinfo(self, name: str | None = ..., arcname: str | None = ..., fileobj: IO[bytes] | None = ...) -> TarInfo: ...
+    def close(self) -> None: ...
+
+if sys.version_info >= (3, 9):
+    def is_tarfile(name: StrOrBytesPath | IO[bytes]) -> bool: ...
+
+else:
+    def is_tarfile(name: StrOrBytesPath) -> bool: ...
+
+if sys.version_info < (3, 8):
+    def filemode(mode: int) -> str: ...  # undocumented
+
+class TarError(Exception): ...
+class ReadError(TarError): ...
+class CompressionError(TarError): ...
+class StreamError(TarError): ...
+class ExtractError(TarError): ...
+class HeaderError(TarError): ...
+
+class TarInfo:
+    name: str
+    path: str
+    size: int
+    mtime: int
+    chksum: int
+    devmajor: int
+    devminor: int
+    offset: int
+    offset_data: int
+    sparse: bytes | None
+    tarfile: TarFile | None
+    mode: int
+    type: bytes
+    linkname: str
+    uid: int
+    gid: int
+    uname: str
+    gname: str
+    pax_headers: Mapping[str, str]
+    def __init__(self, name: str = ...) -> None: ...
+    @classmethod
+    def frombuf(cls, buf: bytes, encoding: str, errors: str) -> TarInfo: ...
+    @classmethod
+    def fromtarfile(cls, tarfile: TarFile) -> TarInfo: ...
+    @property
+    def linkpath(self) -> str: ...
+    @linkpath.setter
+    def linkpath(self, linkname: str) -> None: ...
+    def get_info(self) -> Mapping[str, str | int | bytes | Mapping[str, str]]: ...
+    def tobuf(self, format: int | None = ..., encoding: str | None = ..., errors: str = ...) -> bytes: ...
+    def create_ustar_header(
+        self, info: Mapping[str, str | int | bytes | Mapping[str, str]], encoding: str, errors: str
+    ) -> bytes: ...
+    def create_gnu_header(
+        self, info: Mapping[str, str | int | bytes | Mapping[str, str]], encoding: str, errors: str
+    ) -> bytes: ...
+    def create_pax_header(self, info: Mapping[str, str | int | bytes | Mapping[str, str]], encoding: str) -> bytes: ...
+    @classmethod
+    def create_pax_global_header(cls, pax_headers: Mapping[str, str]) -> bytes: ...
+    def isfile(self) -> bool: ...
+    def isreg(self) -> bool: ...
+    def issparse(self) -> bool: ...
+    def isdir(self) -> bool: ...
+    def issym(self) -> bool: ...
+    def islnk(self) -> bool: ...
+    def ischr(self) -> bool: ...
+    def isblk(self) -> bool: ...
+    def isfifo(self) -> bool: ...
+    def isdev(self) -> bool: ...