mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-09 21:46:42 +08:00
Allow Union[unicode, str] rather than just str in several places (#3887)
* Allow unicode objects throughout urlparse.py
Functions such as `urlparse()`, if given a unicode object,
will happily return a ParseResult of unicode components.
Relatedly, functions like `unquote()` will accept any of
bytes/str/unicode and return an object of the same type
or a composite containing that type.
* Allow unicode in several places in Thread
`name` and `kwargs` to Thread.__init__ function perfectly
well with unicode, not just str.
Note: the .name attribute will always be str even
if the constructor is passed something else, since
__init__ calls:
self.__name = str(name or _newname())
* Use typing.AnyStr properly
...rather than defining a new TypeVar unncessarily.
* Use typing.Text properly
Text is behaviorally equivalent to Union[str, unicode]
for Python 2 argument types.
* Remove outdated import & definition
* [check file consistent] copy changes to _dummy_threading.pyi
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
|
||||
from typing import (
|
||||
Any, Callable, Iterable, List, Mapping, Optional, Tuple, Type, Union,
|
||||
Any, Callable, Iterable, List, Mapping, Optional, Text, Tuple, Type, Union,
|
||||
TypeVar,
|
||||
)
|
||||
from types import FrameType, TracebackType
|
||||
@@ -12,7 +12,6 @@ _TF = Callable[[FrameType, str, Any], Optional[Callable[..., Any]]]
|
||||
_PF = Callable[[FrameType, str, Any], None]
|
||||
_T = TypeVar('_T')
|
||||
|
||||
|
||||
__all__: List[str]
|
||||
|
||||
def active_count() -> int: ...
|
||||
@@ -63,14 +62,14 @@ class Thread:
|
||||
else:
|
||||
def __init__(self, group: None = ...,
|
||||
target: Optional[Callable[..., Any]] = ...,
|
||||
name: Optional[str] = ...,
|
||||
name: Optional[Text] = ...,
|
||||
args: Iterable[Any] = ...,
|
||||
kwargs: Mapping[str, Any] = ...) -> None: ...
|
||||
kwargs: Mapping[Text, Any] = ...) -> None: ...
|
||||
def start(self) -> None: ...
|
||||
def run(self) -> None: ...
|
||||
def join(self, timeout: Optional[float] = ...) -> None: ...
|
||||
def getName(self) -> str: ...
|
||||
def setName(self, name: str) -> None: ...
|
||||
def setName(self, name: Text) -> None: ...
|
||||
if sys.version_info >= (3, 8):
|
||||
@property
|
||||
def native_id(self) -> Optional[int]: ... # only available on some platforms
|
||||
|
||||
Reference in New Issue
Block a user