stdlib: add argument default values (#9501)

This commit is contained in:
Jelle Zijlstra
2023-01-18 00:37:34 -08:00
committed by GitHub
parent 6cb934291f
commit ddfaca3200
272 changed files with 2529 additions and 2467 deletions

View File

@@ -12,14 +12,14 @@ if sys.version_info >= (3, 9):
class FatalIncludeError(SyntaxError): ...
def default_loader(href: FileDescriptorOrPath, parse: str, encoding: str | None = ...) -> str | Element: ...
def default_loader(href: FileDescriptorOrPath, parse: str, encoding: str | None = None) -> str | Element: ...
# TODO: loader is of type default_loader ie it takes a callable that has the
# same signature as default_loader. But default_loader has a keyword argument
# Which can't be represented using Callable...
if sys.version_info >= (3, 9):
def include(
elem: Element, loader: Callable[..., str | Element] | None = ..., base_url: str | None = ..., max_depth: int | None = ...
elem: Element, loader: Callable[..., str | Element] | None = None, base_url: str | None = None, max_depth: int | None = 6
) -> None: ...
class LimitedRecursiveIncludeError(FatalIncludeError): ...

View File

@@ -10,7 +10,7 @@ _Token: TypeAlias = tuple[str, str]
_Next: TypeAlias = Callable[[], _Token]
_Callback: TypeAlias = Callable[[_SelectorContext, list[Element]], Generator[Element, None, None]]
def xpath_tokenizer(pattern: str, namespaces: dict[str, str] | None = ...) -> Generator[_Token, None, None]: ...
def xpath_tokenizer(pattern: str, namespaces: dict[str, str] | None = None) -> Generator[_Token, None, None]: ...
def get_parent_map(context: _SelectorContext) -> dict[Element, Element]: ...
def prepare_child(next: _Next, token: _Token) -> _Callback: ...
def prepare_star(next: _Next, token: _Token) -> _Callback: ...
@@ -28,7 +28,7 @@ class _SelectorContext:
_T = TypeVar("_T")
def iterfind(elem: Element, path: str, namespaces: dict[str, str] | None = ...) -> Generator[Element, None, None]: ...
def find(elem: Element, path: str, namespaces: dict[str, str] | None = ...) -> Element | None: ...
def findall(elem: Element, path: str, namespaces: dict[str, str] | None = ...) -> list[Element]: ...
def findtext(elem: Element, path: str, default: _T | None = ..., namespaces: dict[str, str] | None = ...) -> _T | str: ...
def iterfind(elem: Element, path: str, namespaces: dict[str, str] | None = None) -> Generator[Element, None, None]: ...
def find(elem: Element, path: str, namespaces: dict[str, str] | None = None) -> Element | None: ...
def findall(elem: Element, path: str, namespaces: dict[str, str] | None = None) -> list[Element]: ...
def findtext(elem: Element, path: str, default: _T | None = None, namespaces: dict[str, str] | None = None) -> _T | str: ...

View File

@@ -90,8 +90,8 @@ class Element:
def append(self, __subelement: Element) -> None: ...
def clear(self) -> None: ...
def extend(self, __elements: Iterable[Element]) -> None: ...
def find(self, path: str, namespaces: dict[str, str] | None = ...) -> Element | None: ...
def findall(self, path: str, namespaces: dict[str, str] | None = ...) -> list[Element]: ...
def find(self, path: str, namespaces: dict[str, str] | None = None) -> Element | None: ...
def findall(self, path: str, namespaces: dict[str, str] | None = None) -> list[Element]: ...
@overload
def findtext(self, path: str, default: None = ..., namespaces: dict[str, str] | None = ...) -> str | None: ...
@overload
@@ -102,8 +102,8 @@ class Element:
def get(self, key: str, default: _T) -> str | _T: ...
def insert(self, __index: int, __subelement: Element) -> None: ...
def items(self) -> ItemsView[str, str]: ...
def iter(self, tag: str | None = ...) -> Generator[Element, None, None]: ...
def iterfind(self, path: str, namespaces: dict[str, str] | None = ...) -> Generator[Element, None, None]: ...
def iter(self, tag: str | None = None) -> Generator[Element, None, None]: ...
def iterfind(self, path: str, namespaces: dict[str, str] | None = None) -> Generator[Element, None, None]: ...
def itertext(self) -> Generator[str, None, None]: ...
def keys(self) -> dict_keys[str, str]: ...
# makeelement returns the type of self in Python impl, but not in C impl
@@ -129,14 +129,14 @@ class Element:
def getiterator(self, tag: str | None = ...) -> list[Element]: ...
def SubElement(parent: Element, tag: str, attrib: dict[str, str] = ..., **extra: str) -> Element: ...
def Comment(text: str | None = ...) -> Element: ...
def ProcessingInstruction(target: str, text: str | None = ...) -> Element: ...
def Comment(text: str | None = None) -> Element: ...
def ProcessingInstruction(target: str, text: str | None = None) -> Element: ...
PI: Callable[..., Element]
class QName:
text: str
def __init__(self, text_or_uri: str, tag: str | None = ...) -> None: ...
def __init__(self, text_or_uri: str, tag: str | None = None) -> None: ...
def __lt__(self, other: QName | str) -> bool: ...
def __le__(self, other: QName | str) -> bool: ...
def __gt__(self, other: QName | str) -> bool: ...
@@ -144,29 +144,29 @@ class QName:
def __eq__(self, other: object) -> bool: ...
class ElementTree:
def __init__(self, element: Element | None = ..., file: _FileRead | None = ...) -> None: ...
def __init__(self, element: Element | None = None, file: _FileRead | None = None) -> None: ...
def getroot(self) -> Element | Any: ...
def parse(self, source: _FileRead, parser: XMLParser | None = ...) -> Element: ...
def iter(self, tag: str | None = ...) -> Generator[Element, None, None]: ...
def parse(self, source: _FileRead, parser: XMLParser | None = None) -> Element: ...
def iter(self, tag: str | None = None) -> Generator[Element, None, None]: ...
if sys.version_info < (3, 9):
def getiterator(self, tag: str | None = ...) -> list[Element]: ...
def find(self, path: str, namespaces: dict[str, str] | None = ...) -> Element | None: ...
def find(self, path: str, namespaces: dict[str, str] | None = None) -> Element | None: ...
@overload
def findtext(self, path: str, default: None = ..., namespaces: dict[str, str] | None = ...) -> str | None: ...
@overload
def findtext(self, path: str, default: _T, namespaces: dict[str, str] | None = ...) -> _T | str: ...
def findall(self, path: str, namespaces: dict[str, str] | None = ...) -> list[Element]: ...
def iterfind(self, path: str, namespaces: dict[str, str] | None = ...) -> Generator[Element, None, None]: ...
def findall(self, path: str, namespaces: dict[str, str] | None = None) -> list[Element]: ...
def iterfind(self, path: str, namespaces: dict[str, str] | None = None) -> Generator[Element, None, None]: ...
def write(
self,
file_or_filename: _FileWrite,
encoding: str | None = ...,
xml_declaration: bool | None = ...,
default_namespace: str | None = ...,
method: str | None = ...,
encoding: str | None = None,
xml_declaration: bool | None = None,
default_namespace: str | None = None,
method: str | None = None,
*,
short_empty_elements: bool = ...,
short_empty_elements: bool = True,
) -> None: ...
def write_c14n(self, file: _FileWriteC14N) -> None: ...
@@ -261,28 +261,28 @@ else:
def dump(elem: Element) -> None: ...
if sys.version_info >= (3, 9):
def indent(tree: Element | ElementTree, space: str = ..., level: int = ...) -> None: ...
def indent(tree: Element | ElementTree, space: str = " ", level: int = 0) -> None: ...
def parse(source: _FileRead, parser: XMLParser | None = ...) -> ElementTree: ...
def parse(source: _FileRead, parser: XMLParser | None = None) -> ElementTree: ...
def iterparse(
source: _FileRead, events: Sequence[str] | None = ..., parser: XMLParser | None = ...
source: _FileRead, events: Sequence[str] | None = None, parser: XMLParser | None = None
) -> Iterator[tuple[str, Any]]: ...
class XMLPullParser:
def __init__(self, events: Sequence[str] | None = ..., *, _parser: XMLParser | None = ...) -> None: ...
def __init__(self, events: Sequence[str] | None = None, *, _parser: XMLParser | None = None) -> None: ...
def feed(self, data: str | ReadableBuffer) -> None: ...
def close(self) -> None: ...
# Second element in the tuple could be `Element`, `tuple[str, str]` or `None`.
# Use `Any` to avoid false-positive errors.
def read_events(self) -> Iterator[tuple[str, Any]]: ...
def XML(text: str | ReadableBuffer, parser: XMLParser | None = ...) -> Element: ...
def XMLID(text: str | ReadableBuffer, parser: XMLParser | None = ...) -> tuple[Element, dict[str, Element]]: ...
def XML(text: str | ReadableBuffer, parser: XMLParser | None = None) -> Element: ...
def XMLID(text: str | ReadableBuffer, parser: XMLParser | None = None) -> tuple[Element, dict[str, Element]]: ...
# This is aliased to XML in the source.
fromstring = XML
def fromstringlist(sequence: Sequence[str | ReadableBuffer], parser: XMLParser | None = ...) -> Element: ...
def fromstringlist(sequence: Sequence[str | ReadableBuffer], parser: XMLParser | None = None) -> Element: ...
# This type is both not precise enough and too precise. The TreeBuilder
# requires the elementfactory to accept tag and attrs in its args and produce
@@ -329,13 +329,13 @@ if sys.version_info >= (3, 8):
self,
write: Callable[[str], object],
*,
with_comments: bool = ...,
strip_text: bool = ...,
rewrite_prefixes: bool = ...,
qname_aware_tags: Iterable[str] | None = ...,
qname_aware_attrs: Iterable[str] | None = ...,
exclude_attrs: Iterable[str] | None = ...,
exclude_tags: Iterable[str] | None = ...,
with_comments: bool = False,
strip_text: bool = False,
rewrite_prefixes: bool = False,
qname_aware_tags: Iterable[str] | None = None,
qname_aware_attrs: Iterable[str] | None = None,
exclude_attrs: Iterable[str] | None = None,
exclude_tags: Iterable[str] | None = None,
) -> None: ...
def data(self, data: str) -> None: ...
def start_ns(self, prefix: str, uri: str) -> None: ...