Drop Python 3.3 support from several stubs (#2266)

* Drop Python 3.3 support from importlib stubs

* Drop Python 3.3 support from html and symbol stubs
This commit is contained in:
Sebastian Rittau
2018-06-21 01:46:11 +02:00
committed by Jelle Zijlstra
parent 1184726417
commit b05e99297c
16 changed files with 140 additions and 246 deletions

View File

@@ -5,11 +5,9 @@ import sys
class HTMLParser(ParserBase):
if sys.version_info >= (3, 5):
def __init__(self, *, convert_charrefs: bool = ...) -> None: ...
elif sys.version_info >= (3, 4):
else:
def __init__(self, strict: bool = ..., *,
convert_charrefs: bool = ...) -> None: ...
else:
def __init__(self, strict: bool = ...) -> None: ...
def feed(self, feed: str) -> None: ...
def close(self) -> None: ...
def reset(self) -> None: ...

View File

@@ -98,37 +98,36 @@ def indentsize(line: str) -> int: ...
#
# Introspecting callables with the Signature object
#
if sys.version_info >= (3, 3):
def signature(callable: Callable[..., Any],
*,
follow_wrapped: bool = ...) -> 'Signature': ...
def signature(callable: Callable[..., Any],
*,
follow_wrapped: bool = ...) -> 'Signature': ...
class Signature:
def __init__(self,
parameters: Optional[Sequence['Parameter']] = ...,
*,
return_annotation: Any = ...) -> None: ...
# TODO: can we be more specific here?
empty: object = ...
class Signature:
def __init__(self,
parameters: Optional[Sequence['Parameter']] = ...,
*,
return_annotation: Any = ...) -> None: ...
# TODO: can we be more specific here?
empty: object = ...
parameters: Mapping[str, 'Parameter']
parameters: Mapping[str, 'Parameter']
# TODO: can we be more specific here?
return_annotation: Any
# TODO: can we be more specific here?
return_annotation: Any
def bind(self, *args: Any, **kwargs: Any) -> 'BoundArguments': ...
def bind_partial(self, *args: Any, **kwargs: Any) -> 'BoundArguments': ...
def replace(self,
*,
parameters: Optional[Sequence['Parameter']] = ...,
return_annotation: Any = ...) -> 'Signature': ...
def bind(self, *args: Any, **kwargs: Any) -> 'BoundArguments': ...
def bind_partial(self, *args: Any, **kwargs: Any) -> 'BoundArguments': ...
def replace(self,
*,
parameters: Optional[Sequence['Parameter']] = ...,
return_annotation: Any = ...) -> 'Signature': ...
if sys.version_info >= (3, 5):
@classmethod
def from_callable(cls,
obj: Callable[..., Any],
*,
follow_wrapped: bool = ...) -> 'Signature': ...
if sys.version_info >= (3, 5):
@classmethod
def from_callable(cls,
obj: Callable[..., Any],
*,
follow_wrapped: bool = ...) -> 'Signature': ...
# The name is the same as the enum's name in CPython
class _ParameterKind: ...
@@ -238,24 +237,21 @@ def formatargvalues(args: List[str],
) -> str: ...
def getmro(cls: type) -> Tuple[type, ...]: ...
if sys.version_info >= (3, 2):
def getcallargs(func: Callable[..., Any],
*args: Any,
**kwds: Any) -> Dict[str, Any]: ...
def getcallargs(func: Callable[..., Any],
*args: Any,
**kwds: Any) -> Dict[str, Any]: ...
if sys.version_info >= (3, 3):
ClosureVars = NamedTuple('ClosureVars', [('nonlocals', Mapping[str, Any]),
('globals', Mapping[str, Any]),
('builtins', Mapping[str, Any]),
('unbound', AbstractSet[str]),
])
def getclosurevars(func: Callable[..., Any]) -> ClosureVars: ...
ClosureVars = NamedTuple('ClosureVars', [('nonlocals', Mapping[str, Any]),
('globals', Mapping[str, Any]),
('builtins', Mapping[str, Any]),
('unbound', AbstractSet[str]),
])
def getclosurevars(func: Callable[..., Any]) -> ClosureVars: ...
if sys.version_info >= (3, 4):
def unwrap(func: Callable[..., Any],
*,
stop: Callable[[Any], Any]) -> Any: ...
def unwrap(func: Callable[..., Any],
*,
stop: Callable[[Any], Any]) -> Any: ...
#
@@ -294,8 +290,7 @@ def trace(context: int = ...) -> List[FrameInfo]: ...
# Fetching attributes statically
#
if sys.version_info >= (3, 2):
def getattr_static(obj: object, attr: str, default: Optional[Any] = ...) -> Any: ...
def getattr_static(obj: object, attr: str, default: Optional[Any] = ...) -> Any: ...
#
@@ -305,12 +300,11 @@ if sys.version_info >= (3, 2):
# TODO In the next two blocks of code, can we be more specific regarding the
# type of the "enums"?
if sys.version_info >= (3, 2):
GEN_CREATED: str
GEN_RUNNING: str
GEN_SUSPENDED: str
GEN_CLOSED: str
def getgeneratorstate(generator: Generator[Any, Any, Any]) -> str: ...
GEN_CREATED: str
GEN_RUNNING: str
GEN_SUSPENDED: str
GEN_CLOSED: str
def getgeneratorstate(generator: Generator[Any, Any, Any]) -> str: ...
if sys.version_info >= (3, 5):
CORO_CREATED: str
@@ -320,8 +314,7 @@ if sys.version_info >= (3, 5):
# TODO can we be more specific than "object"?
def getcoroutinestate(coroutine: object) -> str: ...
if sys.version_info >= (3, 3):
def getgeneratorlocals(generator: Generator[Any, Any, Any]) -> Dict[str, Any]: ...
def getgeneratorlocals(generator: Generator[Any, Any, Any]) -> Dict[str, Any]: ...
if sys.version_info >= (3, 5):
# TODO can we be more specific than "object"?

View File

@@ -20,13 +20,8 @@ _T = TypeVar('_T', bound='IOBase')
open = builtins.open
if sys.version_info >= (3, 3):
BlockingIOError = builtins.BlockingIOError
class UnsupportedOperation(OSError, ValueError): ...
else:
class BlockingIOError(IOError):
characters_written: int
class UnsupportedOperation(IOError, ValueError): ...
BlockingIOError = builtins.BlockingIOError
class UnsupportedOperation(OSError, ValueError): ...
class IOBase:
def __iter__(self) -> Iterator[bytes]: ...
@@ -46,25 +41,16 @@ class IOBase:
def truncate(self, size: Optional[int] = ...) -> int: ...
def writable(self) -> bool: ...
def writelines(self, lines: Iterable[Union[bytes, bytearray]]) -> None: ...
if sys.version_info >= (3, 4):
def readline(self, size: int = ...) -> bytes: ...
def __del__(self) -> None: ...
else:
def readline(self, limit: int = ...) -> bytes: ...
if sys.version_info >= (3, 2):
@property
def closed(self) -> bool: ...
else:
def closed(self) -> bool: ...
def readline(self, size: int = ...) -> bytes: ...
def __del__(self) -> None: ...
@property
def closed(self) -> bool: ...
class RawIOBase(IOBase):
def readall(self) -> bytes: ...
def readinto(self, b: bytearray) -> Optional[int]: ...
def write(self, b: Union[bytes, bytearray]) -> Optional[int]: ...
if sys.version_info >= (3, 4):
def read(self, size: int = ...) -> Optional[bytes]: ...
else:
def read(self, n: int = ...) -> Optional[bytes]: ...
def read(self, size: int = ...) -> Optional[bytes]: ...
class BufferedIOBase(IOBase):
def detach(self) -> RawIOBase: ...
@@ -72,28 +58,20 @@ class BufferedIOBase(IOBase):
def write(self, b: Union[bytes, bytearray]) -> int: ...
if sys.version_info >= (3, 5):
def readinto1(self, b: _bytearray_like) -> 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: ...
def read1(self, n: int = ...) -> bytes: ...
def read(self, size: Optional[int] = ...) -> bytes: ...
def read1(self, size: int = ...) -> bytes: ...
class FileIO(RawIOBase):
mode = ... # type: str
name = ... # type: Union[int, str]
if sys.version_info >= (3, 3):
def __init__(
self,
name: Union[str, bytes, int],
mode: str = ...,
closefd: bool = ...,
opener: Optional[Callable[[Union[int, str], str], int]] = ...
) -> None: ...
else:
def __init__(self, name: Union[str, bytes, int],
mode: str = ..., closefd: bool = ...) -> None: ...
def __init__(
self,
name: Union[str, bytes, int],
mode: str = ...,
closefd: bool = ...,
opener: Optional[Callable[[Union[int, str], str], int]] = ...
) -> None: ...
# TODO should extend from BufferedIOBase
class BytesIO(BinaryIO):
@@ -103,8 +81,7 @@ class BytesIO(BinaryIO):
# as a read-only property on IO[].
name: Any
def getvalue(self) -> bytes: ...
if sys.version_info >= (3, 2):
def getbuffer(self) -> memoryview: ...
def getbuffer(self) -> memoryview: ...
# copied from IOBase
def __iter__(self) -> Iterator[bytes]: ...
def __next__(self) -> bytes: ...
@@ -125,34 +102,21 @@ class BytesIO(BinaryIO):
# TODO should be the next line instead
# def writelines(self, lines: List[Union[bytes, bytearray]]) -> None: ...
def writelines(self, lines: Any) -> None: ...
if sys.version_info >= (3, 4):
def readline(self, size: int = ...) -> bytes: ...
def __del__(self) -> None: ...
else:
def readline(self, limit: int = ...): ...
if sys.version_info >= (3, 2):
closed = ... # type: bool
else:
def closed(self) -> bool: ...
def readline(self, size: int = ...) -> bytes: ...
def __del__(self) -> None: ...
closed = ... # type: bool
# copied from BufferedIOBase
def detach(self) -> RawIOBase: ...
def readinto(self, b: _bytearray_like) -> int: ...
def write(self, b: Union[bytes, bytearray]) -> int: ...
if sys.version_info >= (3, 5):
def readinto1(self, b: _bytearray_like) -> 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: ...
def read1(self, n: int = ...) -> bytes: ...
def read(self, size: Optional[int] = ...) -> bytes: ...
def read1(self, size: int = ...) -> bytes: ...
class BufferedReader(BufferedIOBase):
def __init__(self, raw: RawIOBase, buffer_size: int = ...) -> None: ...
if sys.version_info >= (3, 4):
def peek(self, size: int = ...) -> bytes: ...
else:
def peek(self, n: int = ...) -> bytes: ...
def peek(self, size: int = ...) -> bytes: ...
class BufferedWriter(BufferedIOBase):
def __init__(self, raw: RawIOBase, buffer_size: int = ...) -> None: ...
@@ -177,31 +141,19 @@ class TextIOBase(IOBase):
def __next__(self) -> str: ... # type: ignore
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: ...
if sys.version_info >= (3, 2):
def seek(self, offset: int, whence: int = ...) -> int: ...
def tell(self) -> int: ...
def readline(self, size: int = ...) -> str: ... # type: ignore
def read(self, size: Optional[int] = ...) -> str: ...
def seek(self, offset: int, whence: int = ...) -> int: ...
def tell(self) -> int: ...
# TODO should extend from TextIOBase
class TextIOWrapper(TextIO):
line_buffering = ... # type: bool
# 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],
# 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: ...
def __init__(
self,
buffer: IO[bytes],
@@ -226,12 +178,8 @@ class TextIOWrapper(TextIO):
# 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 closed(self) -> bool: ...
def __del__(self) -> None: ...
closed = ... # type: bool
# copied from TextIOBase
encoding = ... # type: str
errors = ... # type: Optional[str]
@@ -241,17 +189,10 @@ class TextIOWrapper(TextIO):
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: ...
def read(self, size: Optional[int] = ...) -> str: ...
elif sys.version_info >= (3, 2):
def readline(self, limit: int = ...) -> str: ...
def read(self, size: Optional[int] = ...) -> str: ...
else:
def readline(self) -> str: ...
if sys.version_info >= (3, 2):
def seek(self, offset: int, whence: int = ...) -> int: ...
def tell(self) -> int: ...
def readline(self, size: int = ...) -> str: ...
def read(self, size: Optional[int] = ...) -> str: ...
def seek(self, offset: int, whence: int = ...) -> int: ...
def tell(self) -> int: ...
class StringIO(TextIOWrapper):
def __init__(self, initial_value: str = ...,

View File

@@ -76,10 +76,8 @@ def get_logger() -> Logger: ...
def log_to_stderr(level: Optional[Union[str, int]] = ...) -> Logger: ...
def Manager() -> SyncManager: ...
def set_forkserver_preload(module_names: List[str]) -> None: ...
if sys.platform == 'win32' or sys.version_info >= (3, 4):
def set_executable(executable: str) -> None: ...
if sys.version_info >= (3, 4):
def get_all_start_methods() -> List[str]: ...
def get_context(method: Optional[str] = ...) -> BaseContext: ...
def get_start_method(allow_none: Optional[bool]) -> Optional[str]: ...
def set_start_method(method: str, force: Optional[bool] = ...) -> None: ...
def set_executable(executable: str) -> None: ...
def get_all_start_methods() -> List[str]: ...
def get_context(method: Optional[str] = ...) -> BaseContext: ...
def get_start_method(allow_none: Optional[bool]) -> Optional[str]: ...
def set_start_method(method: str, force: Optional[bool] = ...) -> None: ...

View File

@@ -1,6 +1,5 @@
from typing import Any, Iterable, List, Optional, Tuple, Type, Union
import socket
import sys
import types
# https://docs.python.org/3/library/multiprocessing.html#address-formats
@@ -8,8 +7,7 @@ _Address = Union[str, Tuple[str, int]]
def deliver_challenge(connection: Connection, authkey: bytes) -> None: ...
def answer_challenge(connection: Connection, authkey: bytes) -> None: ...
if sys.version_info >= (3, 3):
def wait(object_list: Iterable[Union[Connection, socket.socket, int]], timeout: Optional[float] = ...) -> List[Union[Connection, socket.socket, int]]: ...
def wait(object_list: Iterable[Union[Connection, socket.socket, int]], timeout: Optional[float] = ...) -> List[Union[Connection, socket.socket, int]]: ...
def Client(address: _Address, family: Optional[str] = ..., authkey: Optional[bytes] = ...) -> Connection: ...
def Pipe(duplex: bool = ...) -> Tuple[Connection, Connection]: ...
@@ -21,9 +19,8 @@ class Listener:
def address(self) -> _Address: ...
@property
def last_accepted(self) -> Optional[_Address]: ...
if sys.version_info >= (3, 3):
def __enter__(self) -> Listener: ...
def __exit__(self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], exc_tb: Optional[types.TracebackType]) -> None: ...
def __enter__(self) -> Listener: ...
def __exit__(self, exc_type: Optional[Type[BaseException]], exc_value: Optional[BaseException], exc_tb: Optional[types.TracebackType]) -> None: ...
class Connection:
def close(self) -> None: ...

View File

@@ -28,10 +28,9 @@ class Condition(ContextManager[bool]):
def notify(self) -> None: ...
def notify_all(self) -> None: ...
def wait(self, timeout: Optional[float] = ...) -> bool: ...
if sys.version_info >= (3, 3):
def wait_for(self,
predicate: Callable[[], bool],
timeout: Optional[float] = ...) -> bool: ...
def wait_for(self,
predicate: Callable[[], bool],
timeout: Optional[float] = ...) -> bool: ...
def acquire(self,
block: bool = ...,
timeout: Optional[float] = ...) -> bool: ...

View File

@@ -3,7 +3,6 @@
import datetime
import socket
import ssl
import sys
from typing import Any, Dict, IO, Iterable, List, NamedTuple, Optional, Tuple, TypeVar, Union
_SelfT = TypeVar('_SelfT', bound=_NNTPBase)
@@ -51,9 +50,8 @@ class _NNTPBase:
def __init__(self, file: IO[bytes], host: str,
readermode: Optional[bool] = ..., timeout: float = ...) -> None: ...
if sys.version_info >= (3, 3):
def __enter__(self: _SelfT) -> _SelfT: ...
def __exit__(self, *args: Any) -> None: ...
def __enter__(self: _SelfT) -> _SelfT: ...
def __exit__(self, *args: Any) -> None: ...
def getwelcome(self) -> str: ...
def getcapabilities(self) -> Dict[str, List[str]]: ...
def set_debuglevel(self, level: int) -> None: ...

View File

@@ -23,11 +23,9 @@ class stat_result:
st_atime: float # time of most recent access,
st_mtime: float # time of most recent content modification,
st_ctime: float # platform dependent (time of most recent metadata change on Unix, or the time of creation on Windows)
if sys.version_info >= (3, 3):
st_atime_ns: int # time of most recent access, in nanoseconds
st_mtime_ns: int # time of most recent content modification in nanoseconds
st_ctime_ns: int # platform dependent (time of most recent metadata change on Unix, or the time of creation on Windows) in nanoseconds
st_atime_ns: int # time of most recent access, in nanoseconds
st_mtime_ns: int # time of most recent content modification in nanoseconds
st_ctime_ns: int # platform dependent (time of most recent metadata change on Unix, or the time of creation on Windows) in nanoseconds
# not documented
def __init__(self, tuple: Tuple[int, ...]) -> None: ...
@@ -49,26 +47,25 @@ class stat_result:
st_creator: int
st_type: int
if sys.version_info >= (3, 3):
uname_result = NamedTuple('uname_result', [('sysname', str), ('nodename', str),
('release', str), ('version', str), ('machine', str)])
uname_result = NamedTuple('uname_result', [('sysname', str), ('nodename', str),
('release', str), ('version', str), ('machine', str)])
times_result = NamedTuple('times_result', [
('user', float),
('system', float),
('children_user', float),
('children_system', float),
('elapsed', float),
])
times_result = NamedTuple('times_result', [
('user', float),
('system', float),
('children_user', float),
('children_system', float),
('elapsed', float),
])
waitid_result = NamedTuple('waitid_result', [
('si_pid', int),
('si_uid', int),
('si_signo', int),
('si_status', int),
('si_code', int),
])
waitid_result = NamedTuple('waitid_result', [
('si_pid', int),
('si_uid', int),
('si_signo', int),
('si_status', int),
('si_code', int),
])
sched_param = NamedTuple('sched_priority', [
('sched_priority', int),
])
sched_param = NamedTuple('sched_priority', [
('sched_priority', int),
])

View File

@@ -16,8 +16,7 @@ def S_ISSOCK(mode: int) -> bool: ...
def S_IMODE(mode: int) -> int: ...
def S_IFMT(mode: int) -> int: ...
if sys.version_info >= (3, 3):
def filemode(mode: int) -> str: ...
def filemode(mode: int) -> str: ...
ST_MODE = 0
ST_INO = 0

View File

@@ -92,7 +92,6 @@ comp_for = ... # type: int
comp_if = ... # type: int
encoding_decl = ... # type: int
yield_expr = ... # type: int
if sys.version_info >= (3, 3):
yield_arg = ... # type: int
yield_arg = ... # type: int
sym_name = ... # type: Dict[int, str]

View File

@@ -10,10 +10,7 @@ from typing import (
import sys
from types import FrameType, ModuleType, TracebackType
if sys.version_info >= (3, 3):
from importlib.abc import MetaPathFinder
else:
MetaPathFinder = Any
from importlib.abc import MetaPathFinder
_T = TypeVar('_T')

View File

@@ -47,8 +47,7 @@ Set = TypeAlias(object)
FrozenSet = TypeAlias(object)
Counter = TypeAlias(object)
Deque = TypeAlias(object)
if sys.version_info >= (3, 3):
ChainMap = TypeAlias(object)
ChainMap = TypeAlias(object)
# Predefined type variables.
AnyStr = TypeVar('AnyStr', str, bytes)
@@ -553,10 +552,7 @@ class NamedTuple(tuple):
@classmethod
def _make(cls: Type[_T], iterable: Iterable[Any]) -> _T: ...
if sys.version_info >= (3, 1):
def _asdict(self) -> collections.OrderedDict[str, Any]: ...
else:
def _asdict(self) -> Dict[str, Any]: ...
def _asdict(self) -> collections.OrderedDict[str, Any]: ...
def _replace(self: _T, **kwargs: Any) -> _T: ...
def NewType(name: str, tp: Type[_T]) -> Type[_T]: ...

View File

@@ -37,8 +37,7 @@ class TestCase:
def tearDownClass(cls) -> None: ...
def run(self, result: Optional[TestResult] = ...) -> TestCase: ...
def skipTest(self, reason: Any) -> None: ...
if sys.version_info >= (3, 4):
def subTest(self, msg: Any = ..., **params: Any) -> ContextManager[None]: ...
def subTest(self, msg: Any = ..., **params: Any) -> ContextManager[None]: ...
def debug(self) -> None: ...
def assertEqual(self, first: Any, second: Any, msg: Any = ...) -> None: ...
def assertNotEqual(self, first: Any, second: Any,
@@ -103,11 +102,10 @@ class TestCase:
def assertWarnsRegex(self,
exception: Union[Type[Warning], Tuple[Type[Warning], ...]],
msg: Any = ...) -> _AssertWarnsContext: ...
if sys.version_info >= (3, 4):
def assertLogs(
self, logger: Optional[logging.Logger] = ...,
level: Union[int, str, None] = ...
) -> _AssertLogsContext: ...
def assertLogs(
self, logger: Optional[logging.Logger] = ...,
level: Union[int, str, None] = ...
) -> _AssertLogsContext: ...
def assertAlmostEqual(self, first: float, second: float, places: int = ...,
msg: Any = ..., delta: float = ...) -> None: ...
def assertNotAlmostEqual(self, first: float, second: float,
@@ -273,9 +271,8 @@ class TestResult:
def addExpectedFailure(self, test: TestCase,
err: _SysExcInfoType) -> None: ...
def addUnexpectedSuccess(self, test: TestCase) -> None: ...
if sys.version_info >= (3, 4):
def addSubTest(self, test: TestCase, subtest: TestCase,
outcome: Optional[_SysExcInfoType]) -> None: ...
def addSubTest(self, test: TestCase, subtest: TestCase,
outcome: Optional[_SysExcInfoType]) -> None: ...
class TextTestResult(TestResult):
def __init__(self, stream: TextIO, descriptions: bool,
@@ -306,16 +303,12 @@ class TextTestRunner(TestRunner):
warnings: Optional[Type[Warning]] = ...) -> None: ...
def _makeResult(self) -> TestResult: ...
if sys.version_info >= (3, 4):
_DefaultTestType = Union[str, Iterable[str], None]
else:
_DefaultTestType = Union[str, None]
# not really documented
class TestProgram:
result = ... # type: TestResult
def main(module: str = ..., defaultTest: _DefaultTestType = ...,
def main(module: str = ...,
defaultTest: Union[str, Iterable[str], None] = ...,
argv: Optional[List[str]] = ...,
testRunner: Union[Type[TestRunner], TestRunner, None] = ...,
testLoader: TestLoader = ..., exit: bool = ..., verbosity: int = ...,

View File

@@ -33,15 +33,12 @@ def parse_http_list(s: str) -> List[str]: ...
def parse_keqv_list(l: List[str]) -> Dict[str, str]: ...
class Request:
if sys.version_info >= (3, 4):
@property
def full_url(self) -> str: ...
@full_url.setter
def full_url(self, value: str) -> None: ...
@full_url.deleter
def full_url(self) -> None: ...
else:
full_url: str
@property
def full_url(self) -> str: ...
@full_url.setter
def full_url(self, value: str) -> None: ...
@full_url.deleter
def full_url(self) -> None: ...
type: str
host: str
origin_req_host: str
@@ -57,8 +54,7 @@ class Request:
def add_header(self, key: str, val: str) -> None: ...
def add_unredirected_header(self, key: str, val: str) -> None: ...
def has_header(self, header_name: str) -> bool: ...
if sys.version_info >= (3, 4):
def remove_header(self, header_name: str) -> None: ...
def remove_header(self, header_name: str) -> None: ...
def get_full_url(self) -> str: ...
def set_proxy(self, host: str, type: str) -> None: ...
@overload

View File

@@ -7,7 +7,6 @@ from typing import (
)
from abc import ABCMeta
import importlib.abc
import sys
import types
import zipimport
@@ -248,10 +247,7 @@ class ExtractionError(Exception):
original_error = ... # type: Exception
if sys.version_info >= (3, 3):
class _Importer(importlib.abc.MetaPathFinder, importlib.abc.InspectLoader, metaclass=ABCMeta): ...
else:
class _Importer(importlib.abc.InspectLoader, metaclass=ABCMeta): ...
class _Importer(importlib.abc.MetaPathFinder, importlib.abc.InspectLoader, metaclass=ABCMeta): ...
def register_finder(importer_type: type,
distribution_finder: _DistFinderType) -> None: ...

View File

@@ -66,7 +66,4 @@ from . import urllib_robotparser
# import xmlrpc.client as xmlrpc_client
# import xmlrpc.server as xmlrpc_server
if sys.version_info >= (3, 4):
from importlib import reload as reload_module
else:
from imp import reload as reload_module
from importlib import reload as reload_module