pickletools: accepts bytearray, use protocol from _typeshed (#9073)

This commit is contained in:
Jelle Zijlstra
2022-11-03 08:20:03 -07:00
committed by GitHub
parent 27caa8f221
commit a17fa5001a
2 changed files with 8 additions and 11 deletions

View File

@@ -1,5 +1,5 @@
import sys
from _typeshed import ReadableBuffer
from _typeshed import ReadableBuffer, SupportsWrite
from collections.abc import Callable, Iterable, Iterator, Mapping
from typing import Any, ClassVar, Protocol, SupportsBytes, Union
from typing_extensions import SupportsIndex, TypeAlias, final
@@ -97,9 +97,6 @@ class _ReadableFileobj(Protocol):
def read(self, __n: int) -> bytes: ...
def readline(self) -> bytes: ...
class _WritableFileobj(Protocol):
def write(self, __b: bytes) -> Any: ...
if sys.version_info >= (3, 8):
@final
class PickleBuffer:
@@ -109,7 +106,7 @@ if sys.version_info >= (3, 8):
_BufferCallback: TypeAlias = Callable[[PickleBuffer], Any] | None
def dump(
obj: Any,
file: _WritableFileobj,
file: SupportsWrite[bytes],
protocol: int | None = ...,
*,
fix_imports: bool = ...,
@@ -136,7 +133,7 @@ if sys.version_info >= (3, 8):
) -> Any: ...
else:
def dump(obj: Any, file: _WritableFileobj, protocol: int | None = ..., *, fix_imports: bool = ...) -> None: ...
def dump(obj: Any, file: SupportsWrite[bytes], protocol: int | None = ..., *, fix_imports: bool = ...) -> None: ...
def dumps(obj: Any, protocol: int | None = ..., *, fix_imports: bool = ...) -> bytes: ...
def load(file: _ReadableFileobj, *, fix_imports: bool = ..., encoding: str = ..., errors: str = ...) -> Any: ...
def loads(data: ReadableBuffer, *, fix_imports: bool = ..., encoding: str = ..., errors: str = ...) -> Any: ...
@@ -162,7 +159,7 @@ class Pickler:
if sys.version_info >= (3, 8):
def __init__(
self,
file: _WritableFileobj,
file: SupportsWrite[bytes],
protocol: int | None = ...,
*,
fix_imports: bool = ...,
@@ -170,7 +167,7 @@ class Pickler:
) -> None: ...
def reducer_override(self, obj: Any) -> Any: ...
else:
def __init__(self, file: _WritableFileobj, protocol: int | None = ..., *, fix_imports: bool = ...) -> None: ...
def __init__(self, file: SupportsWrite[bytes], protocol: int | None = ..., *, fix_imports: bool = ...) -> None: ...
def dump(self, __obj: Any) -> None: ...
def clear_memo(self) -> None: ...

View File

@@ -156,10 +156,10 @@ class OpcodeInfo:
opcodes: list[OpcodeInfo]
def genops(pickle: bytes | IO[bytes]) -> Iterator[tuple[OpcodeInfo, Any | None, int | None]]: ...
def optimize(p: bytes | IO[bytes]) -> bytes: ...
def genops(pickle: bytes | bytearray | IO[bytes]) -> Iterator[tuple[OpcodeInfo, Any | None, int | None]]: ...
def optimize(p: bytes | bytearray | IO[bytes]) -> bytes: ...
def dis(
pickle: bytes | IO[bytes],
pickle: bytes | bytearray | IO[bytes],
out: IO[str] | None = ...,
memo: MutableMapping[int, Any] | None = ...,
indentlevel: int = ...,