@@ -64,7 +64,7 @@ class IOBase:
64
64
def truncate (self , __size : Optional [int ] = ...) -> int : ...
65
65
def writable (self ) -> bool : ...
66
66
def writelines (self , __lines : Iterable [Union [bytes , bytearray ]]) -> None : ...
67
- def readline (self , __size : int = ...) -> bytes : ...
67
+ def readline (self , __size : Optional [ int ] = ...) -> bytes : ...
68
68
def __del__ (self ) -> None : ...
69
69
@property
70
70
def closed (self ) -> bool : ...
@@ -85,7 +85,6 @@ class BufferedIOBase(IOBase):
85
85
def read (self , __size : Optional [int ] = ...) -> bytes : ...
86
86
def read1 (self , __size : int = ...) -> bytes : ...
87
87
88
-
89
88
class FileIO (RawIOBase ):
90
89
mode : str
91
90
name : Union [int , str ]
@@ -97,52 +96,27 @@ class FileIO(RawIOBase):
97
96
opener : Optional [Callable [[Union [int , str ], str ], int ]] = ...
98
97
) -> None : ...
99
98
100
- # TODO should extend from BufferedIOBase
101
- class BytesIO (BinaryIO ):
99
+ class BytesIO (BufferedIOBase , BinaryIO ):
102
100
def __init__ (self , initial_bytes : bytes = ...) -> None : ...
103
101
# BytesIO does not contain a "name" field. This workaround is necessary
104
102
# to allow BytesIO sub-classes to add this field, as it is defined
105
103
# as a read-only property on IO[].
106
104
name : Any
105
+ def __enter__ (self : _T ) -> _T : ...
107
106
def getvalue (self ) -> bytes : ...
108
107
def getbuffer (self ) -> memoryview : ...
109
- # copied from IOBase
110
- def __iter__ (self ) -> Iterator [bytes ]: ...
111
- def __next__ (self ) -> bytes : ...
112
- def __enter__ (self ) -> BytesIO : ...
113
- def __exit__ (self , t : Optional [Type [BaseException ]] = ..., value : Optional [BaseException ] = ...,
114
- traceback : Optional [TracebackType ] = ...) -> Optional [bool ]: ...
115
- def close (self ) -> None : ...
116
- def fileno (self ) -> int : ...
117
- def flush (self ) -> None : ...
118
- def isatty (self ) -> bool : ...
119
- def readable (self ) -> bool : ...
120
- def readlines (self , __size : int = ...) -> List [bytes ]: ...
121
- def seek (self , __pos : int , __whence : int = ...) -> int : ...
122
- def seekable (self ) -> bool : ...
123
- def tell (self ) -> int : ...
124
- def truncate (self , __size : Optional [int ] = ...) -> int : ...
125
- def writable (self ) -> bool : ...
126
- # TODO should be the next line instead
127
- # def writelines(self, lines: List[Union[bytes, bytearray]]) -> None: ...
128
- def writelines (self , __lines : Any ) -> None : ...
129
- def readline (self , __size : Optional [int ] = ...) -> bytes : ...
130
- def __del__ (self ) -> None : ...
131
- closed : bool
132
- # copied from BufferedIOBase
133
- def detach (self ) -> RawIOBase : ...
134
- def readinto (self , __buffer : _bytearray_like ) -> int : ...
135
- def write (self , __b : Union [bytes , bytearray ]) -> int : ...
136
- def readinto1 (self , __buffer : _bytearray_like ) -> int : ...
137
- def read (self , __size : Optional [int ] = ...) -> bytes : ...
138
108
if sys .version_info >= (3 , 7 ):
139
109
def read1 (self , __size : Optional [int ] = ...) -> bytes : ...
140
110
else :
141
- def read1 (self , __size : Optional [int ]) -> bytes : ...
111
+ def read1 (self , __size : Optional [int ]) -> bytes : ... # type: ignore
142
112
143
113
class BufferedReader (BufferedIOBase ):
144
114
def __init__ (self , raw : RawIOBase , buffer_size : int = ...) -> None : ...
145
115
def peek (self , __size : int = ...) -> bytes : ...
116
+ if sys .version_info >= (3 , 7 ):
117
+ def read1 (self , __size : int = ...) -> bytes : ...
118
+ else :
119
+ def read1 (self , __size : int ) -> bytes : ... # type: ignore
146
120
147
121
class BufferedWriter (BufferedIOBase ):
148
122
def __init__ (self , raw : RawIOBase , buffer_size : int = ...) -> None : ...
@@ -153,6 +127,10 @@ class BufferedRandom(BufferedReader, BufferedWriter):
153
127
def __init__ (self , raw : RawIOBase , buffer_size : int = ...) -> None : ...
154
128
def seek (self , __target : int , __whence : int = ...) -> int : ...
155
129
def tell (self ) -> int : ...
130
+ if sys .version_info >= (3 , 7 ):
131
+ def read1 (self , __size : int = ...) -> bytes : ...
132
+ else :
133
+ def read1 (self , __size : int ) -> bytes : ... # type: ignore
156
134
157
135
class BufferedRWPair (BufferedIOBase ):
158
136
def __init__ (self , reader : RawIOBase , writer : RawIOBase ,
0 commit comments