8000 fix integration of io with mypy by tharvik · Pull Request #196 · python/typeshed · GitHub
[go: up one dir, main page]

Skip to content

fix integration of io with mypy #196

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 12, 2016
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
8000
Diff view
117 changes: 102 additions & 15 deletions stdlib/3/io.pyi
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Stubs for io

from typing import (
List, BinaryIO, TextIO, Iterator, Union, Optional, Callable, Tuple
List, BinaryIO, TextIO, Iterator, Union, Optional, Callable, Tuple, Any, IO
)
import builtins
import codecs
Expand Down Expand Up @@ -47,7 +47,7 @@ class IOBase:
def tell(self) -> int: ...
def truncate(self, size: Optional[int] = ...) -> int: ...
def writable(self) -> bool: ...
def writelines(self, lines: bytes) -> None: ...
def writelines(self, lines: List[Union[bytes, bytearray]]) -> None: ...
if sys.version_info >= (3, 4):
def readline(self, size: int = ...) -> bytes: ...
def __del__(self) -> None: ...
Expand All @@ -68,7 +68,7 @@ class RawIOBase(IOBase):
def read(self, n: int = ...) -> Optional[bytes]: ... # type: ignore

class BufferedIOBase(IOBase):
def detach(self) -> 'RawIOBase': ...
def detach(self) -> RawIOBase: ...
def readinto(self, b: bytearray) -> int: ...
def write(self, b: Union[bytes, bytearray]) -> int: ...
if sys.version_info >= (3, 5):
Expand All @@ -94,12 +94,53 @@ class FileIO(RawIOBase):
def __init__(self, name: Union[str, bytes, int], # type: ignore
mode: str = ..., closefd: bool = ...) -> None: ...


class BytesIO(BufferedIOBase):
# TODO should extend from BufferedIOBase
class BytesIO(BinaryIO):
def __init__(self, initial_bytes: bytes = ...) -> None: ...
def getvalue(self) -> bytes: ...
if sys.version_info >= (3, 2):
def getbuffer(self) -> memoryview: ...
# copied from IOBase
def __iter__(self) -> Iterator[bytes]: ...
def __next__(self) -> bytes: ...
def __enter__(self) -> 'BytesIO': ...
def __exit__(self, t: type = None, value: BaseException = None,
traceback: Any = None) -> bool: ...
def close(self) -> None: ...
def fileno(self) -> int: ...
def flush(self) -> None: ...
def isatty(self) -> bool: ...
def readable(self) -> bool: ...
def readlines(self, hint: int = ...) -> List[bytes]: ...
def seek(self, offset: int, whence: int = ...) -> int: ...
def seekable(self) -> bool: ...
def tell(self) -> int: ...
def truncate(self, size: Optional[int] = ...) -> int: ...
def writable(self) -> bool: ...
# TODO should be the next line instead
# def writelines(self, lines: List[Union[bytes, bytearray]]) -> None: ...
def writelines(self, lines: Any) -> 8000 ; None: ...
if sys.version_info >= (3, 4):
def readline(self, size: int = ...) -> bytes: ...
def __del__(self) -> None: ...
else:
def readline(self, limit: int = ...): ... # type: ignore
if sys.version_info >= (3, 2):
closed = ... # type: bool
else:
def closed(self) -> bool: ... # type: ignore
# copied from BufferedIOBase
def detach(self) -> RawIOBase: ...
def readinto(self, b: bytearray) -> int: ...
def write(self, b: Union[bytes, bytearray]) -> Optional[int]: ...
if sys.version_info >= (3, 5):
def readinto1(self, b: bytearray) -> int: ...
if sys.version_info >= (3, 4):
def read(self, size: Optional[int] = ...) -> bytes: ...
def read1(self, size: int = ...) -> bytes: ...
else:
def read(self, n: Optional[int] = ...) -> bytes: ... # type: ignore
def read1(self, n: int = ...) -> bytes: ... # type: ignore

class BufferedReader(BufferedIOBase):
def __init__(self, raw: RawIOBase, buffer_size: int = ...) -> None: ...
Expand Down Expand Up @@ -143,18 +184,64 @@ class TextIOBase(IOBase):
def seek(self, offset: int, whence: int = ...) -> int: ...
def tell(self) -> int: ...

class TextIOWrapper(TextIOBase):
# TODO should extend from TextIOBase
class TextIOWrapper(TextIO):
line_buffering = ... # type: bool
if sys.version_info >= (3, 3):
def __init__(self, buffer: BufferedIOBase, encoding: str = ...,
errors: Optional[str] = ..., newline: Optional[str] = ...,
line_buffering: bool = ..., write_through: bool = ...) \
-> None: ...
# TODO uncomment after fixing mypy about using write_through
#if sys.version_info >= (3, 3):
# def __init__(self, buffer: IO[bytes], encoding: str = ...,
# errors: Optional[str] = ..., newline: Optional[str] = ...,
# line_buffering: bool = ..., write_through: bool = ...) \
# -> None: ...
#else:
# def __init__(self, buffer: IO[bytes], # type: ignore
# encoding: str = ..., errors: Optional[str] = ...,
# newline: Optional[str] = ..., line_buffering: bool = ...) \
# -> None: ...
def __init__(self, buffer: IO[bytes], encoding: str = ...,
errors: Optional[str] = ..., newline: Optional[str] = ...,
line_buffering: bool = ..., write_through: bool = ...) \
-> None: ...
# copied from IOBase
def __exit__(self, t: type = None, value: BaseException = None,
traceback: Any = None) -> bool: ...
def close(self) -> None: ...
def fileno(self) -> int: ...
def flush(self) -> None: ...
def isatty(self) -> bool: ...
def readable(self) -> bool: ...
def readlines(self, hint: int = ...) -> List[str]: ...
def seekable(self) -> bool: ...
def truncate(self, size: Optional[int] = ...) -> int: ...
def writable(self) -> bool: ...
# TODO should be the next line instead
# def writelines(self, lines: List[str]) -> None: ...
def writelines(self, lines: Any) -> None: ...
if sys.version_info >= (3, 4):
def __del__(self) -> None: ...
if sys.version_info >= (3, 2):
closed = ... # type: bool
else:
def __init__(self, buffer: BufferedIOBase, # type: ignore
encoding: str = ..., errors: Optional[str] = ...,
newline: Optional[str] = ..., line_buffering: bool = ...) \
-> None: ...
def closed(self) -> bool: ... # type: ignore
# copied from TextIOBase
encoding = ... # type: str
errors = ... # type: Optional[str]
newlines = ... # type: Union[str, Tuple[str, ...], None]
def __iter__(self) -> Iterator[str]: ... # type: ignore
def __next__(self) -> str: ... # type: ignore
def __enter__(self) -> 'TextIO': ...
def detach(self) -> IOBase: ...
def write(self, s: str) -> int: ...
if sys.version_info >= (3, 4):
def readline(self, size: int = ...) -> str: ... # type: ignore
def read(self, size: Optional[int] = ...) -> str: ...
elif sys.version_info >= (3, 2):
def readline(self, limit: int = ...) -> str: ... # type: ignore
else:
def readline(self) -> str: ... # type: ignore
if sys.version_info >= (3, 2):
def seek(self, offset: int, whence: int = ...) -> int: ...
def tell(self) -> int: ...

class StringIO(TextIOWrapper):
def __init__(self, initial_value: str = ...,
Expand Down
0