mirror of
https://github.com/astral-sh/ruff.git
synced 2025-11-25 06:13:01 +00:00
Sync vendored typeshed stubs (#16448)
Close and reopen this PR to trigger CI Co-authored-by: typeshedbot <>
This commit is contained in:
parent
4431978262
commit
0d615b8765
30 changed files with 1225 additions and 858 deletions
|
|
@ -1 +1 @@
|
|||
cc8ca939c0477a49fcce0554fa1743bd5c656a11
|
||||
0b13c1deb6d0b2cdc78b246da9a0863c87dd8424
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ else:
|
|||
|
||||
MAGIC_NUMBER: bytes
|
||||
|
||||
def cache_from_source(path: str, debug_override: bool | None = None, *, optimization: Any | None = None) -> str: ...
|
||||
def source_from_cache(path: str) -> str: ...
|
||||
def cache_from_source(path: StrPath, debug_override: bool | None = None, *, optimization: Any | None = None) -> str: ...
|
||||
def source_from_cache(path: StrPath) -> str: ...
|
||||
def decode_source(source_bytes: ReadableBuffer) -> str: ...
|
||||
def spec_from_file_location(
|
||||
name: str,
|
||||
|
|
|
|||
|
|
@ -2,13 +2,26 @@ import sys
|
|||
from _typeshed import ReadableBuffer
|
||||
from collections.abc import Callable
|
||||
from types import ModuleType
|
||||
from typing import AnyStr, final, overload
|
||||
from typing import AnyStr, Protocol, final, overload, type_check_only
|
||||
from typing_extensions import Self, TypeAlias
|
||||
|
||||
_DigestMod: TypeAlias = str | Callable[[], HASH] | ModuleType | None
|
||||
_DigestMod: TypeAlias = str | Callable[[], _HashObject] | ModuleType | None
|
||||
|
||||
openssl_md_meth_names: frozenset[str]
|
||||
|
||||
@type_check_only
|
||||
class _HashObject(Protocol):
|
||||
@property
|
||||
def digest_size(self) -> int: ...
|
||||
@property
|
||||
def block_size(self) -> int: ...
|
||||
@property
|
||||
def name(self) -> str: ...
|
||||
def copy(self) -> Self: ...
|
||||
def digest(self) -> bytes: ...
|
||||
def hexdigest(self) -> str: ...
|
||||
def update(self, obj: ReadableBuffer, /) -> None: ...
|
||||
|
||||
class HASH:
|
||||
@property
|
||||
def digest_size(self) -> int: ...
|
||||
|
|
|
|||
|
|
@ -410,93 +410,6 @@ if sys.platform == "win32":
|
|||
"WindowsSelectorEventLoopPolicy", # from windows_events
|
||||
"WindowsProactorEventLoopPolicy", # from windows_events
|
||||
)
|
||||
elif sys.version_info >= (3, 10):
|
||||
__all__ = (
|
||||
"BaseEventLoop", # from base_events
|
||||
"Server", # from base_events
|
||||
"coroutine", # from coroutines
|
||||
"iscoroutinefunction", # from coroutines
|
||||
"iscoroutine", # from coroutines
|
||||
"AbstractEventLoopPolicy", # from events
|
||||
"AbstractEventLoop", # from events
|
||||
"AbstractServer", # from events
|
||||
"Handle", # from events
|
||||
"TimerHandle", # from events
|
||||
"get_event_loop_policy", # from events
|
||||
"set_event_loop_policy", # from events
|
||||
"get_event_loop", # from events
|
||||
"set_event_loop", # from events
|
||||
"new_event_loop", # from events
|
||||
"get_child_watcher", # from events
|
||||
"set_child_watcher", # from events
|
||||
"_set_running_loop", # from events
|
||||
"get_running_loop", # from events
|
||||
"_get_running_loop", # from events
|
||||
"CancelledError", # from exceptions
|
||||
"InvalidStateError", # from exceptions
|
||||
"TimeoutError", # from exceptions
|
||||
"IncompleteReadError", # from exceptions
|
||||
"LimitOverrunError", # from exceptions
|
||||
"SendfileNotAvailableError", # from exceptions
|
||||
"Future", # from futures
|
||||
"wrap_future", # from futures
|
||||
"isfuture", # from futures
|
||||
"Lock", # from locks
|
||||
"Event", # from locks
|
||||
"Condition", # from locks
|
||||
"Semaphore", # from locks
|
||||
"BoundedSemaphore", # from locks
|
||||
"BaseProtocol", # from protocols
|
||||
"Protocol", # from protocols
|
||||
"DatagramProtocol", # from protocols
|
||||
"SubprocessProtocol", # from protocols
|
||||
"BufferedProtocol", # from protocols
|
||||
"run", # from runners
|
||||
"Queue", # from queues
|
||||
"PriorityQueue", # from queues
|
||||
"LifoQueue", # from queues
|
||||
"QueueFull", # from queues
|
||||
"QueueEmpty", # from queues
|
||||
"StreamReader", # from streams
|
||||
"StreamWriter", # from streams
|
||||
"StreamReaderProtocol", # from streams
|
||||
"open_connection", # from streams
|
||||
"start_server", # from streams
|
||||
"create_subprocess_exec", # from subprocess
|
||||
"create_subprocess_shell", # from subprocess
|
||||
"Task", # from tasks
|
||||
"create_task", # from tasks
|
||||
"FIRST_COMPLETED", # from tasks
|
||||
"FIRST_EXCEPTION", # from tasks
|
||||
"ALL_COMPLETED", # from tasks
|
||||
"wait", # from tasks
|
||||
"wait_for", # from tasks
|
||||
"as_completed", # from tasks
|
||||
"sleep", # from tasks
|
||||
"gather", # from tasks
|
||||
"shield", # from tasks
|
||||
"ensure_future", # from tasks
|
||||
"run_coroutine_threadsafe", # from tasks
|
||||
"current_task", # from tasks
|
||||
"all_tasks", # from tasks
|
||||
"_register_task", # from tasks
|
||||
"_unregister_task", # from tasks
|
||||
"_enter_task", # from tasks
|
||||
"_leave_task", # from tasks
|
||||
"to_thread", # from threads
|
||||
"BaseTransport", # from transports
|
||||
"ReadTransport", # from transports
|
||||
"WriteTransport", # from transports
|
||||
"Transport", # from transports
|
||||
"DatagramTransport", # from transports
|
||||
"SubprocessTransport", # from transports
|
||||
"SelectorEventLoop", # from windows_events
|
||||
"ProactorEventLoop", # from windows_events
|
||||
"IocpProactor", # from windows_events
|
||||
"DefaultEventLoopPolicy", # from windows_events
|
||||
"WindowsSelectorEventLoopPolicy", # from windows_events
|
||||
"WindowsProactorEventLoopPolicy", # from windows_events
|
||||
)
|
||||
elif sys.version_info >= (3, 9):
|
||||
__all__ = (
|
||||
"BaseEventLoop", # from base_events
|
||||
|
|
@ -1059,97 +972,6 @@ else:
|
|||
"ThreadedChildWatcher", # from unix_events
|
||||
"DefaultEventLoopPolicy", # from unix_events
|
||||
)
|
||||
elif sys.version_info >= (3, 10):
|
||||
__all__ = (
|
||||
"BaseEventLoop", # from base_events
|
||||
"Server", # from base_events
|
||||
"coroutine", # from coroutines
|
||||
"iscoroutinefunction", # from coroutines
|
||||
"iscoroutine", # from coroutines
|
||||
"AbstractEventLoopPolicy", # from events
|
||||
"AbstractEventLoop", # from events
|
||||
"AbstractServer", # from events
|
||||
"Handle", # from events
|
||||
"TimerHandle", # from events
|
||||
"get_event_loop_policy", # from events
|
||||
"set_event_loop_policy", # from events
|
||||
"get_event_loop", # from events
|
||||
"set_event_loop", # from events
|
||||
"new_event_loop", # from events
|
||||
"get_child_watcher", # from events
|
||||
"set_child_watcher", # from events
|
||||
"_set_running_loop", # from events
|
||||
"get_running_loop", # from events
|
||||
"_get_running_loop", # from events
|
||||
"CancelledError", # from exceptions
|
||||
"InvalidStateError", # from exceptions
|
||||
"TimeoutError", # from exceptions
|
||||
"IncompleteReadError", # from exceptions
|
||||
"LimitOverrunError", # from exceptions
|
||||
"SendfileNotAvailableError", # from exceptions
|
||||
"Future", # from futures
|
||||
"wrap_future", # from futures
|
||||
"isfuture", # from futures
|
||||
"Lock", # from locks
|
||||
"Event", # from locks
|
||||
"Condition", # from locks
|
||||
"Semaphore", # from locks
|
||||
"BoundedSemaphore", # from locks
|
||||
"BaseProtocol", # from protocols
|
||||
"Protocol", # from protocols
|
||||
"DatagramProtocol", # from protocols
|
||||
"SubprocessProtocol", # from protocols
|
||||
"BufferedProtocol", # from protocols
|
||||
"run", # from runners
|
||||
"Queue", # from queues
|
||||
"PriorityQueue", # from queues
|
||||
"LifoQueue", # from queues
|
||||
"QueueFull", # from queues
|
||||
"QueueEmpty", # from queues
|
||||
"StreamReader", # from streams
|
||||
"StreamWriter", # from streams
|
||||
"StreamReaderProtocol", # from streams
|
||||
"open_connection", # from streams
|
||||
"start_server", # from streams
|
||||
"open_unix_connection", # from streams
|
||||
"start_unix_server", # from streams
|
||||
"create_subprocess_exec", # from subprocess
|
||||
"create_subprocess_shell", # from subprocess
|
||||
"Task", # from tasks
|
||||
"create_task", # from tasks
|
||||
"FIRST_COMPLETED", # from tasks
|
||||
"FIRST_EXCEPTION", # from tasks
|
||||
"ALL_COMPLETED", # from tasks
|
||||
"wait", # from tasks
|
||||
"wait_for", # from tasks
|
||||
"as_completed", # from tasks
|
||||
"sleep", # from tasks
|
||||
"gather", # from tasks
|
||||
"shield", # from tasks
|
||||
"ensure_future", # from tasks
|
||||
"run_coroutine_threadsafe", # from tasks
|
||||
"current_task", # from tasks
|
||||
"all_tasks", # from tasks
|
||||
"_register_task", # from tasks
|
||||
"_unregister_task", # from tasks
|
||||
"_enter_task", # from tasks
|
||||
"_leave_task", # from tasks
|
||||
"to_thread", # from threads
|
||||
"BaseTransport", # from transports
|
||||
"ReadTransport", # from transports
|
||||
"WriteTransport", # from transports
|
||||
"Transport", # from transports
|
||||
"DatagramTransport", # from transports
|
||||
"SubprocessTransport", # from transports
|
||||
"SelectorEventLoop", # from unix_events
|
||||
"AbstractChildWatcher", # from unix_events
|
||||
"SafeChildWatcher", # from unix_events
|
||||
"FastChildWatcher", # from unix_events
|
||||
"PidfdChildWatcher", # from unix_events
|
||||
"MultiLoopChildWatcher", # from unix_events
|
||||
"ThreadedChildWatcher", # from unix_events
|
||||
"DefaultEventLoopPolicy", # from unix_events
|
||||
)
|
||||
elif sys.version_info >= (3, 9):
|
||||
__all__ = (
|
||||
"BaseEventLoop", # from base_events
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@ from _typeshed import (
|
|||
ConvertibleToFloat,
|
||||
ConvertibleToInt,
|
||||
FileDescriptorOrPath,
|
||||
MaybeNone,
|
||||
OpenBinaryMode,
|
||||
OpenBinaryModeReading,
|
||||
OpenBinaryModeUpdating,
|
||||
|
|
@ -95,9 +94,14 @@ _SupportsAnextT = TypeVar("_SupportsAnextT", bound=SupportsAnext[Any], covariant
|
|||
_AwaitableT = TypeVar("_AwaitableT", bound=Awaitable[Any])
|
||||
_AwaitableT_co = TypeVar("_AwaitableT_co", bound=Awaitable[Any], covariant=True)
|
||||
_P = ParamSpec("_P")
|
||||
_StartT = TypeVar("_StartT", covariant=True, default=Any)
|
||||
_StopT = TypeVar("_StopT", covariant=True, default=Any)
|
||||
_StepT = TypeVar("_StepT", covariant=True, default=Any)
|
||||
|
||||
# Type variables for slice
|
||||
_StartT_co = TypeVar("_StartT_co", covariant=True, default=Any) # slice -> slice[Any, Any, Any]
|
||||
_StopT_co = TypeVar("_StopT_co", covariant=True, default=_StartT_co) # slice[A] -> slice[A, A, A]
|
||||
# NOTE: step could differ from start and stop, (e.g. datetime/timedelta)l
|
||||
# the default (start|stop) is chosen to cater to the most common case of int/index slices.
|
||||
# FIXME: https://github.com/python/typing/issues/213 (replace step=start|stop with step=start&stop)
|
||||
_StepT_co = TypeVar("_StepT_co", covariant=True, default=_StartT_co | _StopT_co) # slice[A,B] -> slice[A, B, A|B]
|
||||
|
||||
class object:
|
||||
__doc__: str | None
|
||||
|
|
@ -940,23 +944,35 @@ class bool(int):
|
|||
def __invert__(self) -> int: ...
|
||||
|
||||
@final
|
||||
class slice(Generic[_StartT, _StopT, _StepT]):
|
||||
class slice(Generic[_StartT_co, _StopT_co, _StepT_co]):
|
||||
@property
|
||||
def start(self) -> _StartT: ...
|
||||
def start(self) -> _StartT_co: ...
|
||||
@property
|
||||
def step(self) -> _StepT: ...
|
||||
def step(self) -> _StepT_co: ...
|
||||
@property
|
||||
def stop(self) -> _StopT: ...
|
||||
def stop(self) -> _StopT_co: ...
|
||||
# Note: __new__ overloads map `None` to `Any`, since users expect slice(x, None)
|
||||
# to be compatible with slice(None, x).
|
||||
# generic slice --------------------------------------------------------------------
|
||||
@overload
|
||||
def __new__(cls, stop: int | None, /) -> slice[int | MaybeNone, int | MaybeNone, int | MaybeNone]: ...
|
||||
@overload
|
||||
def __new__(
|
||||
cls, start: int | None, stop: int | None, step: int | None = None, /
|
||||
) -> slice[int | MaybeNone, int | MaybeNone, int | MaybeNone]: ...
|
||||
def __new__(cls, start: None, stop: None = None, step: None = None, /) -> slice[Any, Any, Any]: ...
|
||||
# unary overloads ------------------------------------------------------------------
|
||||
@overload
|
||||
def __new__(cls, stop: _T2, /) -> slice[Any, _T2, Any]: ...
|
||||
# binary overloads -----------------------------------------------------------------
|
||||
@overload
|
||||
def __new__(cls, start: _T1, stop: _T2, /) -> slice[_T1, _T2, Any]: ...
|
||||
def __new__(cls, start: _T1, stop: None, step: None = None, /) -> slice[_T1, Any, Any]: ...
|
||||
@overload
|
||||
def __new__(cls, start: None, stop: _T2, step: None = None, /) -> slice[Any, _T2, Any]: ...
|
||||
@overload
|
||||
def __new__(cls, start: _T1, stop: _T2, step: None = None, /) -> slice[_T1, _T2, Any]: ...
|
||||
# ternary overloads ----------------------------------------------------------------
|
||||
@overload
|
||||
def __new__(cls, start: None, stop: None, step: _T3, /) -> slice[Any, Any, _T3]: ...
|
||||
@overload
|
||||
def __new__(cls, start: _T1, stop: None, step: _T3, /) -> slice[_T1, Any, _T3]: ...
|
||||
@overload
|
||||
def __new__(cls, start: None, stop: _T2, step: _T3, /) -> slice[Any, _T2, _T3]: ...
|
||||
@overload
|
||||
def __new__(cls, start: _T1, stop: _T2, step: _T3, /) -> slice[_T1, _T2, _T3]: ...
|
||||
def __eq__(self, value: object, /) -> bool: ...
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ from _codecs import *
|
|||
from _typeshed import ReadableBuffer
|
||||
from abc import abstractmethod
|
||||
from collections.abc import Callable, Generator, Iterable
|
||||
from typing import Any, BinaryIO, ClassVar, Final, Literal, Protocol, TextIO
|
||||
from typing_extensions import Self
|
||||
from typing import Any, BinaryIO, ClassVar, Final, Literal, Protocol, TextIO, overload
|
||||
from typing_extensions import Self, TypeAlias
|
||||
|
||||
__all__ = [
|
||||
"register",
|
||||
|
|
@ -58,6 +58,21 @@ BOM32_LE: Final = b"\xff\xfe"
|
|||
BOM64_BE: Final = b"\x00\x00\xfe\xff"
|
||||
BOM64_LE: Final = b"\xff\xfe\x00\x00"
|
||||
|
||||
_BufferedEncoding: TypeAlias = Literal[
|
||||
"idna",
|
||||
"raw-unicode-escape",
|
||||
"unicode-escape",
|
||||
"utf-16",
|
||||
"utf-16-be",
|
||||
"utf-16-le",
|
||||
"utf-32",
|
||||
"utf-32-be",
|
||||
"utf-32-le",
|
||||
"utf-7",
|
||||
"utf-8",
|
||||
"utf-8-sig",
|
||||
]
|
||||
|
||||
class _WritableStream(Protocol):
|
||||
def write(self, data: bytes, /) -> object: ...
|
||||
def seek(self, offset: int, whence: int, /) -> object: ...
|
||||
|
|
@ -94,6 +109,9 @@ class _IncrementalEncoder(Protocol):
|
|||
class _IncrementalDecoder(Protocol):
|
||||
def __call__(self, errors: str = ...) -> IncrementalDecoder: ...
|
||||
|
||||
class _BufferedIncrementalDecoder(Protocol):
|
||||
def __call__(self, errors: str = ...) -> BufferedIncrementalDecoder: ...
|
||||
|
||||
class CodecInfo(tuple[_Encoder, _Decoder, _StreamReader, _StreamWriter]):
|
||||
_is_text_encoding: bool
|
||||
@property
|
||||
|
|
@ -125,6 +143,9 @@ class CodecInfo(tuple[_Encoder, _Decoder, _StreamReader, _StreamWriter]):
|
|||
def getencoder(encoding: str) -> _Encoder: ...
|
||||
def getdecoder(encoding: str) -> _Decoder: ...
|
||||
def getincrementalencoder(encoding: str) -> _IncrementalEncoder: ...
|
||||
@overload
|
||||
def getincrementaldecoder(encoding: _BufferedEncoding) -> _BufferedIncrementalDecoder: ...
|
||||
@overload
|
||||
def getincrementaldecoder(encoding: str) -> _IncrementalDecoder: ...
|
||||
def getreader(encoding: str) -> _StreamReader: ...
|
||||
def getwriter(encoding: str) -> _StreamWriter: ...
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ if sys.version_info >= (3, 10):
|
|||
prependdir: StrPath | None = None,
|
||||
limit_sl_dest: StrPath | None = None,
|
||||
hardlink_dupes: bool = False,
|
||||
) -> int: ...
|
||||
) -> bool: ...
|
||||
def compile_file(
|
||||
fullname: StrPath,
|
||||
ddir: StrPath | None = None,
|
||||
|
|
@ -40,7 +40,7 @@ if sys.version_info >= (3, 10):
|
|||
prependdir: StrPath | None = None,
|
||||
limit_sl_dest: StrPath | None = None,
|
||||
hardlink_dupes: bool = False,
|
||||
) -> int: ...
|
||||
) -> bool: ...
|
||||
|
||||
elif sys.version_info >= (3, 9):
|
||||
def compile_dir(
|
||||
|
|
@ -59,7 +59,7 @@ elif sys.version_info >= (3, 9):
|
|||
prependdir: StrPath | None = None,
|
||||
limit_sl_dest: StrPath | None = None,
|
||||
hardlink_dupes: bool = False,
|
||||
) -> int: ...
|
||||
) -> bool: ...
|
||||
def compile_file(
|
||||
fullname: StrPath,
|
||||
ddir: StrPath | None = None,
|
||||
|
|
@ -74,7 +74,7 @@ elif sys.version_info >= (3, 9):
|
|||
prependdir: StrPath | None = None,
|
||||
limit_sl_dest: StrPath | None = None,
|
||||
hardlink_dupes: bool = False,
|
||||
) -> int: ...
|
||||
) -> bool: ...
|
||||
|
||||
else:
|
||||
def compile_dir(
|
||||
|
|
@ -88,7 +88,7 @@ else:
|
|||
optimize: int = -1,
|
||||
workers: int = 1,
|
||||
invalidation_mode: PycInvalidationMode | None = None,
|
||||
) -> int: ...
|
||||
) -> bool: ...
|
||||
def compile_file(
|
||||
fullname: StrPath,
|
||||
ddir: StrPath | None = None,
|
||||
|
|
@ -98,7 +98,7 @@ else:
|
|||
legacy: bool = False,
|
||||
optimize: int = -1,
|
||||
invalidation_mode: PycInvalidationMode | None = None,
|
||||
) -> int: ...
|
||||
) -> bool: ...
|
||||
|
||||
def compile_path(
|
||||
skip_curdir: bool = ...,
|
||||
|
|
@ -108,4 +108,4 @@ def compile_path(
|
|||
legacy: bool = False,
|
||||
optimize: int = -1,
|
||||
invalidation_mode: PycInvalidationMode | None = None,
|
||||
) -> int: ...
|
||||
) -> bool: ...
|
||||
|
|
|
|||
|
|
@ -77,6 +77,19 @@ else:
|
|||
"MAX_INTERPOLATION_DEPTH",
|
||||
]
|
||||
|
||||
if sys.version_info >= (3, 13):
|
||||
class _UNNAMED_SECTION: ...
|
||||
UNNAMED_SECTION: _UNNAMED_SECTION
|
||||
|
||||
_SectionName: TypeAlias = str | _UNNAMED_SECTION
|
||||
# A list of sections can only include an unnamed section if the parser was initialized with
|
||||
# allow_unnamed_section=True. Any prevents users from having to use explicit
|
||||
# type checks if allow_unnamed_section is False (the default).
|
||||
_SectionNameList: TypeAlias = list[Any]
|
||||
else:
|
||||
_SectionName: TypeAlias = str
|
||||
_SectionNameList: TypeAlias = list[str]
|
||||
|
||||
_Section: TypeAlias = Mapping[str, str]
|
||||
_Parser: TypeAlias = MutableMapping[str, _Section]
|
||||
_ConverterCallback: TypeAlias = Callable[[str], Any]
|
||||
|
|
@ -87,17 +100,17 @@ DEFAULTSECT: Final = "DEFAULT"
|
|||
MAX_INTERPOLATION_DEPTH: Final = 10
|
||||
|
||||
class Interpolation:
|
||||
def before_get(self, parser: _Parser, section: str, option: str, value: str, defaults: _Section) -> str: ...
|
||||
def before_set(self, parser: _Parser, section: str, option: str, value: str) -> str: ...
|
||||
def before_read(self, parser: _Parser, section: str, option: str, value: str) -> str: ...
|
||||
def before_write(self, parser: _Parser, section: str, option: str, value: str) -> str: ...
|
||||
def before_get(self, parser: _Parser, section: _SectionName, option: str, value: str, defaults: _Section) -> str: ...
|
||||
def before_set(self, parser: _Parser, section: _SectionName, option: str, value: str) -> str: ...
|
||||
def before_read(self, parser: _Parser, section: _SectionName, option: str, value: str) -> str: ...
|
||||
def before_write(self, parser: _Parser, section: _SectionName, option: str, value: str) -> str: ...
|
||||
|
||||
class BasicInterpolation(Interpolation): ...
|
||||
class ExtendedInterpolation(Interpolation): ...
|
||||
|
||||
if sys.version_info < (3, 13):
|
||||
class LegacyInterpolation(Interpolation):
|
||||
def before_get(self, parser: _Parser, section: str, option: str, value: str, vars: _Section) -> str: ...
|
||||
def before_get(self, parser: _Parser, section: _SectionName, option: str, value: str, vars: _Section) -> str: ...
|
||||
|
||||
class RawConfigParser(_Parser):
|
||||
_SECT_TMPL: ClassVar[str] # undocumented
|
||||
|
|
@ -220,11 +233,11 @@ class RawConfigParser(_Parser):
|
|||
def __iter__(self) -> Iterator[str]: ...
|
||||
def __contains__(self, key: object) -> bool: ...
|
||||
def defaults(self) -> _Section: ...
|
||||
def sections(self) -> list[str]: ...
|
||||
def add_section(self, section: str) -> None: ...
|
||||
def has_section(self, section: str) -> bool: ...
|
||||
def options(self, section: str) -> list[str]: ...
|
||||
def has_option(self, section: str, option: str) -> bool: ...
|
||||
def sections(self) -> _SectionNameList: ...
|
||||
def add_section(self, section: _SectionName) -> None: ...
|
||||
def has_section(self, section: _SectionName) -> bool: ...
|
||||
def options(self, section: _SectionName) -> list[str]: ...
|
||||
def has_option(self, section: _SectionName, option: str) -> bool: ...
|
||||
def read(self, filenames: StrOrBytesPath | Iterable[StrOrBytesPath], encoding: str | None = None) -> list[str]: ...
|
||||
def read_file(self, f: Iterable[str], source: str | None = None) -> None: ...
|
||||
def read_string(self, string: str, source: str = "<string>") -> None: ...
|
||||
|
|
@ -234,26 +247,26 @@ class RawConfigParser(_Parser):
|
|||
# These get* methods are partially applied (with the same names) in
|
||||
# SectionProxy; the stubs should be kept updated together
|
||||
@overload
|
||||
def getint(self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None) -> int: ...
|
||||
def getint(self, section: _SectionName, option: str, *, raw: bool = False, vars: _Section | None = None) -> int: ...
|
||||
@overload
|
||||
def getint(
|
||||
self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T = ...
|
||||
self, section: _SectionName, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T = ...
|
||||
) -> int | _T: ...
|
||||
@overload
|
||||
def getfloat(self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None) -> float: ...
|
||||
def getfloat(self, section: _SectionName, option: str, *, raw: bool = False, vars: _Section | None = None) -> float: ...
|
||||
@overload
|
||||
def getfloat(
|
||||
self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T = ...
|
||||
self, section: _SectionName, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T = ...
|
||||
) -> float | _T: ...
|
||||
@overload
|
||||
def getboolean(self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None) -> bool: ...
|
||||
def getboolean(self, section: _SectionName, option: str, *, raw: bool = False, vars: _Section | None = None) -> bool: ...
|
||||
@overload
|
||||
def getboolean(
|
||||
self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T = ...
|
||||
self, section: _SectionName, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T = ...
|
||||
) -> bool | _T: ...
|
||||
def _get_conv(
|
||||
self,
|
||||
section: str,
|
||||
section: _SectionName,
|
||||
option: str,
|
||||
conv: Callable[[str], _T],
|
||||
*,
|
||||
|
|
@ -263,19 +276,19 @@ class RawConfigParser(_Parser):
|
|||
) -> _T: ...
|
||||
# This is incompatible with MutableMapping so we ignore the type
|
||||
@overload # type: ignore[override]
|
||||
def get(self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None) -> str | MaybeNone: ...
|
||||
def get(self, section: _SectionName, option: str, *, raw: bool = False, vars: _Section | None = None) -> str | MaybeNone: ...
|
||||
@overload
|
||||
def get(
|
||||
self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T
|
||||
self, section: _SectionName, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T
|
||||
) -> str | _T | MaybeNone: ...
|
||||
@overload
|
||||
def items(self, *, raw: bool = False, vars: _Section | None = None) -> ItemsView[str, SectionProxy]: ...
|
||||
@overload
|
||||
def items(self, section: str, raw: bool = False, vars: _Section | None = None) -> list[tuple[str, str]]: ...
|
||||
def set(self, section: str, option: str, value: str | None = None) -> None: ...
|
||||
def items(self, section: _SectionName, raw: bool = False, vars: _Section | None = None) -> list[tuple[str, str]]: ...
|
||||
def set(self, section: _SectionName, option: str, value: str | None = None) -> None: ...
|
||||
def write(self, fp: SupportsWrite[str], space_around_delimiters: bool = True) -> None: ...
|
||||
def remove_option(self, section: str, option: str) -> bool: ...
|
||||
def remove_section(self, section: str) -> bool: ...
|
||||
def remove_option(self, section: _SectionName, option: str) -> bool: ...
|
||||
def remove_section(self, section: _SectionName) -> bool: ...
|
||||
def optionxform(self, optionstr: str) -> str: ...
|
||||
@property
|
||||
def converters(self) -> ConverterMapping: ...
|
||||
|
|
@ -283,9 +296,11 @@ class RawConfigParser(_Parser):
|
|||
class ConfigParser(RawConfigParser):
|
||||
# This is incompatible with MutableMapping so we ignore the type
|
||||
@overload # type: ignore[override]
|
||||
def get(self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None) -> str: ...
|
||||
def get(self, section: _SectionName, option: str, *, raw: bool = False, vars: _Section | None = None) -> str: ...
|
||||
@overload
|
||||
def get(self, section: str, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T) -> str | _T: ...
|
||||
def get(
|
||||
self, section: _SectionName, option: str, *, raw: bool = False, vars: _Section | None = None, fallback: _T
|
||||
) -> str | _T: ...
|
||||
|
||||
if sys.version_info < (3, 12):
|
||||
class SafeConfigParser(ConfigParser): ... # deprecated alias
|
||||
|
|
@ -305,7 +320,14 @@ class SectionProxy(MutableMapping[str, str]):
|
|||
# This is incompatible with MutableMapping so we ignore the type
|
||||
@overload # type: ignore[override]
|
||||
def get(
|
||||
self, option: str, *, raw: bool = False, vars: _Section | None = None, _impl: Any | None = None, **kwargs: Any
|
||||
self,
|
||||
option: str,
|
||||
fallback: None = None,
|
||||
*,
|
||||
raw: bool = False,
|
||||
vars: _Section | None = None,
|
||||
_impl: Any | None = None,
|
||||
**kwargs: Any, # passed to the underlying parser's get() method
|
||||
) -> str | None: ...
|
||||
@overload
|
||||
def get(
|
||||
|
|
@ -316,7 +338,7 @@ class SectionProxy(MutableMapping[str, str]):
|
|||
raw: bool = False,
|
||||
vars: _Section | None = None,
|
||||
_impl: Any | None = None,
|
||||
**kwargs: Any,
|
||||
**kwargs: Any, # passed to the underlying parser's get() method
|
||||
) -> str | _T: ...
|
||||
# These are partially-applied version of the methods with the same names in
|
||||
# RawConfigParser; the stubs should be kept updated together
|
||||
|
|
@ -349,38 +371,38 @@ class Error(Exception):
|
|||
def __init__(self, msg: str = "") -> None: ...
|
||||
|
||||
class NoSectionError(Error):
|
||||
section: str
|
||||
def __init__(self, section: str) -> None: ...
|
||||
section: _SectionName
|
||||
def __init__(self, section: _SectionName) -> None: ...
|
||||
|
||||
class DuplicateSectionError(Error):
|
||||
section: str
|
||||
section: _SectionName
|
||||
source: str | None
|
||||
lineno: int | None
|
||||
def __init__(self, section: str, source: str | None = None, lineno: int | None = None) -> None: ...
|
||||
def __init__(self, section: _SectionName, source: str | None = None, lineno: int | None = None) -> None: ...
|
||||
|
||||
class DuplicateOptionError(Error):
|
||||
section: str
|
||||
section: _SectionName
|
||||
option: str
|
||||
source: str | None
|
||||
lineno: int | None
|
||||
def __init__(self, section: str, option: str, source: str | None = None, lineno: int | None = None) -> None: ...
|
||||
def __init__(self, section: _SectionName, option: str, source: str | None = None, lineno: int | None = None) -> None: ...
|
||||
|
||||
class NoOptionError(Error):
|
||||
section: str
|
||||
section: _SectionName
|
||||
option: str
|
||||
def __init__(self, option: str, section: str) -> None: ...
|
||||
def __init__(self, option: str, section: _SectionName) -> None: ...
|
||||
|
||||
class InterpolationError(Error):
|
||||
section: str
|
||||
section: _SectionName
|
||||
option: str
|
||||
def __init__(self, option: str, section: str, msg: str) -> None: ...
|
||||
def __init__(self, option: str, section: _SectionName, msg: str) -> None: ...
|
||||
|
||||
class InterpolationDepthError(InterpolationError):
|
||||
def __init__(self, option: str, section: str, rawval: object) -> None: ...
|
||||
def __init__(self, option: str, section: _SectionName, rawval: object) -> None: ...
|
||||
|
||||
class InterpolationMissingOptionError(InterpolationError):
|
||||
reference: str
|
||||
def __init__(self, option: str, section: str, rawval: object, reference: str) -> None: ...
|
||||
def __init__(self, option: str, section: _SectionName, rawval: object, reference: str) -> None: ...
|
||||
|
||||
class InterpolationSyntaxError(InterpolationError): ...
|
||||
|
||||
|
|
@ -403,9 +425,6 @@ class MissingSectionHeaderError(ParsingError):
|
|||
def __init__(self, filename: str, lineno: int, line: str) -> None: ...
|
||||
|
||||
if sys.version_info >= (3, 13):
|
||||
class _UNNAMED_SECTION: ...
|
||||
UNNAMED_SECTION: _UNNAMED_SECTION
|
||||
|
||||
class MultilineContinuationError(ParsingError):
|
||||
lineno: int
|
||||
line: str
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
from collections.abc import Callable
|
||||
from email.message import Message
|
||||
from email.policy import Policy
|
||||
from typing import IO
|
||||
from email.policy import Policy, _MessageT
|
||||
from typing import IO, overload
|
||||
from typing_extensions import TypeAlias
|
||||
|
||||
# At runtime, listing submodules in __all__ without them being imported is
|
||||
|
|
@ -31,7 +31,29 @@ __all__ = [ # noqa: F822 # Undefined names in __all__
|
|||
_ParamType: TypeAlias = str | tuple[str | None, str | None, str] # noqa: Y047
|
||||
_ParamsType: TypeAlias = str | None | tuple[str, str | None, str] # noqa: Y047
|
||||
|
||||
def message_from_string(s: str, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ...
|
||||
def message_from_bytes(s: bytes | bytearray, _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ...
|
||||
def message_from_file(fp: IO[str], _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ...
|
||||
def message_from_binary_file(fp: IO[bytes], _class: Callable[[], Message] = ..., *, policy: Policy = ...) -> Message: ...
|
||||
@overload
|
||||
def message_from_string(s: str) -> Message: ...
|
||||
@overload
|
||||
def message_from_string(s: str, _class: Callable[[], _MessageT]) -> _MessageT: ...
|
||||
@overload
|
||||
def message_from_string(s: str, _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT]) -> _MessageT: ...
|
||||
@overload
|
||||
def message_from_bytes(s: bytes | bytearray) -> Message: ...
|
||||
@overload
|
||||
def message_from_bytes(s: bytes | bytearray, _class: Callable[[], _MessageT]) -> _MessageT: ...
|
||||
@overload
|
||||
def message_from_bytes(
|
||||
s: bytes | bytearray, _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT]
|
||||
) -> _MessageT: ...
|
||||
@overload
|
||||
def message_from_file(fp: IO[str]) -> Message: ...
|
||||
@overload
|
||||
def message_from_file(fp: IO[str], _class: Callable[[], _MessageT]) -> _MessageT: ...
|
||||
@overload
|
||||
def message_from_file(fp: IO[str], _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT]) -> _MessageT: ...
|
||||
@overload
|
||||
def message_from_binary_file(fp: IO[bytes]) -> Message: ...
|
||||
@overload
|
||||
def message_from_binary_file(fp: IO[bytes], _class: Callable[[], _MessageT]) -> _MessageT: ...
|
||||
@overload
|
||||
def message_from_binary_file(fp: IO[bytes], _class: Callable[[], _MessageT] = ..., *, policy: Policy[_MessageT]) -> _MessageT: ...
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
from email.message import Message
|
||||
from email.mime.nonmultipart import MIMENonMultipart
|
||||
from email.policy import Policy
|
||||
from email.policy import Policy, _MessageT
|
||||
|
||||
__all__ = ["MIMEMessage"]
|
||||
|
||||
class MIMEMessage(MIMENonMultipart):
|
||||
def __init__(self, _msg: Message, _subtype: str = "rfc822", *, policy: Policy | None = None) -> None: ...
|
||||
def __init__(self, _msg: _MessageT, _subtype: str = "rfc822", *, policy: Policy[_MessageT] | None = None) -> None: ...
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
from collections.abc import Sequence
|
||||
from email import _ParamsType
|
||||
from email.message import Message
|
||||
from email.mime.base import MIMEBase
|
||||
from email.policy import Policy
|
||||
from email.policy import Policy, _MessageT
|
||||
|
||||
__all__ = ["MIMEMultipart"]
|
||||
|
||||
|
|
@ -11,8 +10,8 @@ class MIMEMultipart(MIMEBase):
|
|||
self,
|
||||
_subtype: str = "mixed",
|
||||
boundary: str | None = None,
|
||||
_subparts: Sequence[Message] | None = None,
|
||||
_subparts: Sequence[_MessageT] | None = None,
|
||||
*,
|
||||
policy: Policy | None = None,
|
||||
policy: Policy[_MessageT] | None = None,
|
||||
**_params: _ParamsType,
|
||||
) -> None: ...
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import sys
|
||||
import types
|
||||
from _typeshed import SupportsAllComparisons, SupportsItems
|
||||
from collections.abc import Callable, Hashable, Iterable, Sequence, Sized
|
||||
from collections.abc import Callable, Hashable, Iterable, Sized
|
||||
from typing import Any, Generic, Literal, NamedTuple, TypedDict, TypeVar, final, overload
|
||||
from typing_extensions import ParamSpec, Self, TypeAlias
|
||||
|
||||
|
|
@ -97,26 +97,26 @@ if sys.version_info >= (3, 12):
|
|||
def update_wrapper(
|
||||
wrapper: Callable[_PWrapper, _RWrapper],
|
||||
wrapped: Callable[_PWrapped, _RWrapped],
|
||||
assigned: Sequence[str] = ("__module__", "__name__", "__qualname__", "__doc__", "__annotations__", "__type_params__"),
|
||||
updated: Sequence[str] = ("__dict__",),
|
||||
assigned: Iterable[str] = ("__module__", "__name__", "__qualname__", "__doc__", "__annotations__", "__type_params__"),
|
||||
updated: Iterable[str] = ("__dict__",),
|
||||
) -> _Wrapped[_PWrapped, _RWrapped, _PWrapper, _RWrapper]: ...
|
||||
def wraps(
|
||||
wrapped: Callable[_PWrapped, _RWrapped],
|
||||
assigned: Sequence[str] = ("__module__", "__name__", "__qualname__", "__doc__", "__annotations__", "__type_params__"),
|
||||
updated: Sequence[str] = ("__dict__",),
|
||||
assigned: Iterable[str] = ("__module__", "__name__", "__qualname__", "__doc__", "__annotations__", "__type_params__"),
|
||||
updated: Iterable[str] = ("__dict__",),
|
||||
) -> _Wrapper[_PWrapped, _RWrapped]: ...
|
||||
|
||||
else:
|
||||
def update_wrapper(
|
||||
wrapper: Callable[_PWrapper, _RWrapper],
|
||||
wrapped: Callable[_PWrapped, _RWrapped],
|
||||
assigned: Sequence[str] = ("__module__", "__name__", "__qualname__", "__doc__", "__annotations__"),
|
||||
updated: Sequence[str] = ("__dict__",),
|
||||
assigned: Iterable[str] = ("__module__", "__name__", "__qualname__", "__doc__", "__annotations__"),
|
||||
updated: Iterable[str] = ("__dict__",),
|
||||
) -> _Wrapped[_PWrapped, _RWrapped, _PWrapper, _RWrapper]: ...
|
||||
def wraps(
|
||||
wrapped: Callable[_PWrapped, _RWrapped],
|
||||
assigned: Sequence[str] = ("__module__", "__name__", "__qualname__", "__doc__", "__annotations__"),
|
||||
updated: Sequence[str] = ("__dict__",),
|
||||
assigned: Iterable[str] = ("__module__", "__name__", "__qualname__", "__doc__", "__annotations__"),
|
||||
updated: Iterable[str] = ("__dict__",),
|
||||
) -> _Wrapper[_PWrapped, _RWrapped]: ...
|
||||
|
||||
def total_ordering(cls: type[_T]) -> type[_T]: ...
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import sys
|
|||
from _blake2 import blake2b as blake2b, blake2s as blake2s
|
||||
from _hashlib import (
|
||||
HASH,
|
||||
_HashObject,
|
||||
openssl_md5 as md5,
|
||||
openssl_sha1 as sha1,
|
||||
openssl_sha224 as sha224,
|
||||
|
|
@ -97,7 +98,7 @@ if sys.version_info >= (3, 11):
|
|||
def readable(self) -> bool: ...
|
||||
|
||||
def file_digest(
|
||||
fileobj: _BytesIOLike | _FileDigestFileObj, digest: str | Callable[[], HASH], /, *, _bufsize: int = 262144
|
||||
fileobj: _BytesIOLike | _FileDigestFileObj, digest: str | Callable[[], _HashObject], /, *, _bufsize: int = 262144
|
||||
) -> HASH: ...
|
||||
|
||||
# Legacy typing-only alias
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import sys
|
||||
from _hashlib import HASH as _HashlibHash
|
||||
from _hashlib import _HashObject
|
||||
from _typeshed import ReadableBuffer, SizedBuffer
|
||||
from collections.abc import Callable
|
||||
from types import ModuleType
|
||||
from typing import AnyStr, overload
|
||||
from typing_extensions import TypeAlias
|
||||
|
||||
_DigestMod: TypeAlias = str | Callable[[], _HashlibHash] | ModuleType
|
||||
_DigestMod: TypeAlias = str | Callable[[], _HashObject] | ModuleType
|
||||
|
||||
trans_5C: bytes
|
||||
trans_36: bytes
|
||||
|
|
|
|||
|
|
@ -5,12 +5,16 @@
|
|||
import pathlib
|
||||
import sys
|
||||
import zipfile
|
||||
from _typeshed import Incomplete, StrPath
|
||||
from _typeshed import StrPath
|
||||
from collections.abc import Iterable, Iterator
|
||||
from io import BufferedReader
|
||||
from typing import Literal, NoReturn, TypeVar
|
||||
from typing_extensions import Never
|
||||
|
||||
if sys.version_info >= (3, 10):
|
||||
from importlib._bootstrap_external import FileLoader
|
||||
from zipimport import zipimporter
|
||||
|
||||
if sys.version_info >= (3, 11):
|
||||
import importlib.resources.abc as abc
|
||||
else:
|
||||
|
|
@ -27,14 +31,14 @@ if sys.version_info >= (3, 10):
|
|||
|
||||
class FileReader(abc.TraversableResources):
|
||||
path: pathlib.Path
|
||||
def __init__(self, loader) -> None: ...
|
||||
def __init__(self, loader: FileLoader) -> None: ...
|
||||
def resource_path(self, resource: StrPath) -> str: ...
|
||||
def files(self) -> pathlib.Path: ...
|
||||
|
||||
class ZipReader(abc.TraversableResources):
|
||||
prefix: str
|
||||
archive: Incomplete
|
||||
def __init__(self, loader, module: str) -> None: ...
|
||||
archive: str
|
||||
def __init__(self, loader: zipimporter, module: str) -> None: ...
|
||||
def open_resource(self, resource: str) -> BufferedReader: ...
|
||||
def is_resource(self, path: StrPath) -> bool: ...
|
||||
def files(self) -> zipfile.Path: ...
|
||||
|
|
@ -63,6 +67,6 @@ if sys.version_info >= (3, 10):
|
|||
|
||||
class NamespaceReader(abc.TraversableResources):
|
||||
path: MultiplexedPath
|
||||
def __init__(self, namespace_path) -> None: ...
|
||||
def __init__(self, namespace_path: Iterable[str]) -> None: ...
|
||||
def resource_path(self, resource: str) -> str: ...
|
||||
def files(self) -> MultiplexedPath: ...
|
||||
|
|
|
|||
|
|
@ -129,12 +129,10 @@ class Path(PurePath):
|
|||
def read_text(self, encoding: str | None = None, errors: str | None = None) -> str: ...
|
||||
|
||||
if sys.version_info >= (3, 13):
|
||||
def glob(
|
||||
self, pattern: str, *, case_sensitive: bool | None = None, recurse_symlinks: bool = False
|
||||
) -> Generator[Self, None, None]: ...
|
||||
def glob(self, pattern: str, *, case_sensitive: bool | None = None, recurse_symlinks: bool = False) -> Iterator[Self]: ...
|
||||
def rglob(
|
||||
self, pattern: str, *, case_sensitive: bool | None = None, recurse_symlinks: bool = False
|
||||
) -> Generator[Self, None, None]: ...
|
||||
) -> Iterator[Self]: ...
|
||||
elif sys.version_info >= (3, 12):
|
||||
def glob(self, pattern: str, *, case_sensitive: bool | None = None) -> Generator[Self, None, None]: ...
|
||||
def rglob(self, pattern: str, *, case_sensitive: bool | None = None) -> Generator[Self, None, None]: ...
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
from typing import Literal
|
||||
from xml.dom.minidom import Node
|
||||
|
||||
class NodeFilter:
|
||||
FILTER_ACCEPT: int
|
||||
FILTER_REJECT: int
|
||||
FILTER_SKIP: int
|
||||
FILTER_ACCEPT: Literal[1]
|
||||
FILTER_REJECT: Literal[2]
|
||||
FILTER_SKIP: Literal[3]
|
||||
|
||||
SHOW_ALL: int
|
||||
SHOW_ELEMENT: int
|
||||
|
|
@ -16,4 +19,4 @@ class NodeFilter:
|
|||
SHOW_DOCUMENT_TYPE: int
|
||||
SHOW_DOCUMENT_FRAGMENT: int
|
||||
SHOW_NOTATION: int
|
||||
def acceptNode(self, node) -> int: ...
|
||||
def acceptNode(self, node: Node) -> int: ...
|
||||
|
|
|
|||
|
|
@ -1,69 +1,100 @@
|
|||
from typing import Any, Final
|
||||
from typing import Any, Final, Literal
|
||||
|
||||
from .domreg import getDOMImplementation as getDOMImplementation, registerDOMImplementation as registerDOMImplementation
|
||||
|
||||
class Node:
|
||||
ELEMENT_NODE: int
|
||||
ATTRIBUTE_NODE: int
|
||||
TEXT_NODE: int
|
||||
CDATA_SECTION_NODE: int
|
||||
ENTITY_REFERENCE_NODE: int
|
||||
ENTITY_NODE: int
|
||||
PROCESSING_INSTRUCTION_NODE: int
|
||||
COMMENT_NODE: int
|
||||
DOCUMENT_NODE: int
|
||||
DOCUMENT_TYPE_NODE: int
|
||||
DOCUMENT_FRAGMENT_NODE: int
|
||||
NOTATION_NODE: int
|
||||
ELEMENT_NODE: Literal[1]
|
||||
ATTRIBUTE_NODE: Literal[2]
|
||||
TEXT_NODE: Literal[3]
|
||||
CDATA_SECTION_NODE: Literal[4]
|
||||
ENTITY_REFERENCE_NODE: Literal[5]
|
||||
ENTITY_NODE: Literal[6]
|
||||
PROCESSING_INSTRUCTION_NODE: Literal[7]
|
||||
COMMENT_NODE: Literal[8]
|
||||
DOCUMENT_NODE: Literal[9]
|
||||
DOCUMENT_TYPE_NODE: Literal[10]
|
||||
DOCUMENT_FRAGMENT_NODE: Literal[11]
|
||||
NOTATION_NODE: Literal[12]
|
||||
|
||||
# ExceptionCode
|
||||
INDEX_SIZE_ERR: Final[int]
|
||||
DOMSTRING_SIZE_ERR: Final[int]
|
||||
HIERARCHY_REQUEST_ERR: Final[int]
|
||||
WRONG_DOCUMENT_ERR: Final[int]
|
||||
INVALID_CHARACTER_ERR: Final[int]
|
||||
NO_DATA_ALLOWED_ERR: Final[int]
|
||||
NO_MODIFICATION_ALLOWED_ERR: Final[int]
|
||||
NOT_FOUND_ERR: Final[int]
|
||||
NOT_SUPPORTED_ERR: Final[int]
|
||||
INUSE_ATTRIBUTE_ERR: Final[int]
|
||||
INVALID_STATE_ERR: Final[int]
|
||||
SYNTAX_ERR: Final[int]
|
||||
INVALID_MODIFICATION_ERR: Final[int]
|
||||
NAMESPACE_ERR: Final[int]
|
||||
INVALID_ACCESS_ERR: Final[int]
|
||||
VALIDATION_ERR: Final[int]
|
||||
INDEX_SIZE_ERR: Final = 1
|
||||
DOMSTRING_SIZE_ERR: Final = 2
|
||||
HIERARCHY_REQUEST_ERR: Final = 3
|
||||
WRONG_DOCUMENT_ERR: Final = 4
|
||||
INVALID_CHARACTER_ERR: Final = 5
|
||||
NO_DATA_ALLOWED_ERR: Final = 6
|
||||
NO_MODIFICATION_ALLOWED_ERR: Final = 7
|
||||
NOT_FOUND_ERR: Final = 8
|
||||
NOT_SUPPORTED_ERR: Final = 9
|
||||
INUSE_ATTRIBUTE_ERR: Final = 10
|
||||
INVALID_STATE_ERR: Final = 11
|
||||
SYNTAX_ERR: Final = 12
|
||||
INVALID_MODIFICATION_ERR: Final = 13
|
||||
NAMESPACE_ERR: Final = 14
|
||||
INVALID_ACCESS_ERR: Final = 15
|
||||
VALIDATION_ERR: Final = 16
|
||||
|
||||
class DOMException(Exception):
|
||||
code: int
|
||||
def __init__(self, *args: Any, **kw: Any) -> None: ...
|
||||
def _get_code(self) -> int: ...
|
||||
|
||||
class IndexSizeErr(DOMException): ...
|
||||
class DomstringSizeErr(DOMException): ...
|
||||
class HierarchyRequestErr(DOMException): ...
|
||||
class WrongDocumentErr(DOMException): ...
|
||||
class InvalidCharacterErr(DOMException): ...
|
||||
class NoDataAllowedErr(DOMException): ...
|
||||
class NoModificationAllowedErr(DOMException): ...
|
||||
class NotFoundErr(DOMException): ...
|
||||
class NotSupportedErr(DOMException): ...
|
||||
class InuseAttributeErr(DOMException): ...
|
||||
class InvalidStateErr(DOMException): ...
|
||||
class SyntaxErr(DOMException): ...
|
||||
class InvalidModificationErr(DOMException): ...
|
||||
class NamespaceErr(DOMException): ...
|
||||
class InvalidAccessErr(DOMException): ...
|
||||
class ValidationErr(DOMException): ...
|
||||
class IndexSizeErr(DOMException):
|
||||
code: Literal[1]
|
||||
|
||||
class DomstringSizeErr(DOMException):
|
||||
code: Literal[2]
|
||||
|
||||
class HierarchyRequestErr(DOMException):
|
||||
code: Literal[3]
|
||||
|
||||
class WrongDocumentErr(DOMException):
|
||||
code: Literal[4]
|
||||
|
||||
class InvalidCharacterErr(DOMException):
|
||||
code: Literal[5]
|
||||
|
||||
class NoDataAllowedErr(DOMException):
|
||||
code: Literal[6]
|
||||
|
||||
class NoModificationAllowedErr(DOMException):
|
||||
code: Literal[7]
|
||||
|
||||
class NotFoundErr(DOMException):
|
||||
code: Literal[8]
|
||||
|
||||
class NotSupportedErr(DOMException):
|
||||
code: Literal[9]
|
||||
|
||||
class InuseAttributeErr(DOMException):
|
||||
code: Literal[10]
|
||||
|
||||
class InvalidStateErr(DOMException):
|
||||
code: Literal[11]
|
||||
|
||||
class SyntaxErr(DOMException):
|
||||
code: Literal[12]
|
||||
|
||||
class InvalidModificationErr(DOMException):
|
||||
code: Literal[13]
|
||||
|
||||
class NamespaceErr(DOMException):
|
||||
code: Literal[14]
|
||||
|
||||
class InvalidAccessErr(DOMException):
|
||||
code: Literal[15]
|
||||
|
||||
class ValidationErr(DOMException):
|
||||
code: Literal[16]
|
||||
|
||||
class UserDataHandler:
|
||||
NODE_CLONED: int
|
||||
NODE_IMPORTED: int
|
||||
NODE_DELETED: int
|
||||
NODE_RENAMED: int
|
||||
NODE_CLONED: Literal[1]
|
||||
NODE_IMPORTED: Literal[2]
|
||||
NODE_DELETED: Literal[3]
|
||||
NODE_RENAMED: Literal[4]
|
||||
|
||||
XML_NAMESPACE: Final[str]
|
||||
XMLNS_NAMESPACE: Final[str]
|
||||
XHTML_NAMESPACE: Final[str]
|
||||
XML_NAMESPACE: Final = "http://www.w3.org/XML/1998/namespace"
|
||||
XMLNS_NAMESPACE: Final = "http://www.w3.org/2000/xmlns/"
|
||||
XHTML_NAMESPACE: Final = "http://www.w3.org/1999/xhtml"
|
||||
EMPTY_NAMESPACE: Final[None]
|
||||
EMPTY_PREFIX: Final[None]
|
||||
|
|
|
|||
|
|
@ -1,7 +1,11 @@
|
|||
from _typeshed import Incomplete, ReadableBuffer, SupportsRead
|
||||
from _typeshed import ReadableBuffer, SupportsRead
|
||||
from typing import Any, NoReturn
|
||||
from xml.dom.minidom import Document, DOMImplementation, Node, TypeInfo
|
||||
from typing_extensions import TypeAlias
|
||||
from xml.dom.minidom import Document, DocumentFragment, DOMImplementation, Element, Node, TypeInfo
|
||||
from xml.dom.xmlbuilder import DOMBuilderFilter, Options
|
||||
from xml.parsers.expat import XMLParserType
|
||||
|
||||
_Model: TypeAlias = tuple[int, int, str | None, tuple[Any, ...]] # same as in pyexpat
|
||||
|
||||
TEXT_NODE = Node.TEXT_NODE
|
||||
CDATA_SECTION_NODE = Node.CDATA_SECTION_NODE
|
||||
|
|
@ -10,45 +14,56 @@ FILTER_ACCEPT = DOMBuilderFilter.FILTER_ACCEPT
|
|||
FILTER_REJECT = DOMBuilderFilter.FILTER_REJECT
|
||||
FILTER_SKIP = DOMBuilderFilter.FILTER_SKIP
|
||||
FILTER_INTERRUPT = DOMBuilderFilter.FILTER_INTERRUPT
|
||||
theDOMImplementation: DOMImplementation | None
|
||||
theDOMImplementation: DOMImplementation
|
||||
|
||||
class ElementInfo:
|
||||
tagName: Incomplete
|
||||
def __init__(self, tagName, model: Incomplete | None = None) -> None: ...
|
||||
def getAttributeType(self, aname) -> TypeInfo: ...
|
||||
def getAttributeTypeNS(self, namespaceURI, localName) -> TypeInfo: ...
|
||||
tagName: str
|
||||
def __init__(self, tagName: str, model: _Model | None = None) -> None: ...
|
||||
def getAttributeType(self, aname: str) -> TypeInfo: ...
|
||||
def getAttributeTypeNS(self, namespaceURI: str | None, localName: str) -> TypeInfo: ...
|
||||
def isElementContent(self) -> bool: ...
|
||||
def isEmpty(self) -> bool: ...
|
||||
def isId(self, aname) -> bool: ...
|
||||
def isIdNS(self, euri, ename, auri, aname) -> bool: ...
|
||||
def isId(self, aname: str) -> bool: ...
|
||||
def isIdNS(self, euri: str, ename: str, auri: str, aname: str) -> bool: ...
|
||||
|
||||
class ExpatBuilder:
|
||||
document: Document # Created in self.reset()
|
||||
curNode: Incomplete # Created in self.reset()
|
||||
curNode: DocumentFragment | Element | Document # Created in self.reset()
|
||||
def __init__(self, options: Options | None = None) -> None: ...
|
||||
def createParser(self): ...
|
||||
def getParser(self): ...
|
||||
def createParser(self) -> XMLParserType: ...
|
||||
def getParser(self) -> XMLParserType: ...
|
||||
def reset(self) -> None: ...
|
||||
def install(self, parser) -> None: ...
|
||||
def install(self, parser: XMLParserType) -> None: ...
|
||||
def parseFile(self, file: SupportsRead[ReadableBuffer | str]) -> Document: ...
|
||||
def parseString(self, string: str | ReadableBuffer) -> Document: ...
|
||||
def start_doctype_decl_handler(self, doctypeName, systemId, publicId, has_internal_subset) -> None: ...
|
||||
def start_doctype_decl_handler(
|
||||
self, doctypeName: str, systemId: str | None, publicId: str | None, has_internal_subset: bool
|
||||
) -> None: ...
|
||||
def end_doctype_decl_handler(self) -> None: ...
|
||||
def pi_handler(self, target, data) -> None: ...
|
||||
def character_data_handler_cdata(self, data) -> None: ...
|
||||
def character_data_handler(self, data) -> None: ...
|
||||
def pi_handler(self, target: str, data: str) -> None: ...
|
||||
def character_data_handler_cdata(self, data: str) -> None: ...
|
||||
def character_data_handler(self, data: str) -> None: ...
|
||||
def start_cdata_section_handler(self) -> None: ...
|
||||
def end_cdata_section_handler(self) -> None: ...
|
||||
def entity_decl_handler(self, entityName, is_parameter_entity, value, base, systemId, publicId, notationName) -> None: ...
|
||||
def notation_decl_handler(self, notationName, base, systemId, publicId) -> None: ...
|
||||
def comment_handler(self, data) -> None: ...
|
||||
def external_entity_ref_handler(self, context, base, systemId, publicId) -> int: ...
|
||||
def first_element_handler(self, name, attributes) -> None: ...
|
||||
def start_element_handler(self, name, attributes) -> None: ...
|
||||
def end_element_handler(self, name) -> None: ...
|
||||
def element_decl_handler(self, name, model) -> None: ...
|
||||
def attlist_decl_handler(self, elem, name, type, default, required) -> None: ...
|
||||
def xml_decl_handler(self, version, encoding, standalone) -> None: ...
|
||||
def entity_decl_handler(
|
||||
self,
|
||||
entityName: str,
|
||||
is_parameter_entity: bool,
|
||||
value: str | None,
|
||||
base: str | None,
|
||||
systemId: str,
|
||||
publicId: str | None,
|
||||
notationName: str | None,
|
||||
) -> None: ...
|
||||
def notation_decl_handler(self, notationName: str, base: str | None, systemId: str, publicId: str | None) -> None: ...
|
||||
def comment_handler(self, data: str) -> None: ...
|
||||
def external_entity_ref_handler(self, context: str, base: str | None, systemId: str | None, publicId: str | None) -> int: ...
|
||||
def first_element_handler(self, name: str, attributes: list[str]) -> None: ...
|
||||
def start_element_handler(self, name: str, attributes: list[str]) -> None: ...
|
||||
def end_element_handler(self, name: str) -> None: ...
|
||||
def element_decl_handler(self, name: str, model: _Model) -> None: ...
|
||||
def attlist_decl_handler(self, elem: str, name: str, type: str, default: str | None, required: bool) -> None: ...
|
||||
def xml_decl_handler(self, version: str, encoding: str | None, standalone: int) -> None: ...
|
||||
|
||||
class FilterVisibilityController:
|
||||
filter: DOMBuilderFilter
|
||||
|
|
@ -57,7 +72,7 @@ class FilterVisibilityController:
|
|||
def acceptNode(self, node: Node) -> int: ...
|
||||
|
||||
class FilterCrutch:
|
||||
def __init__(self, builder) -> None: ...
|
||||
def __init__(self, builder: ExpatBuilder) -> None: ...
|
||||
|
||||
class Rejecter(FilterCrutch):
|
||||
def start_element_handler(self, *args: Any) -> None: ...
|
||||
|
|
@ -68,33 +83,39 @@ class Skipper(FilterCrutch):
|
|||
def end_element_handler(self, *args: Any) -> None: ...
|
||||
|
||||
class FragmentBuilder(ExpatBuilder):
|
||||
fragment: Incomplete | None
|
||||
originalDocument: Incomplete
|
||||
context: Incomplete
|
||||
def __init__(self, context, options: Options | None = None) -> None: ...
|
||||
fragment: DocumentFragment | None
|
||||
originalDocument: Document
|
||||
context: Node
|
||||
def __init__(self, context: Node, options: Options | None = None) -> None: ...
|
||||
def reset(self) -> None: ...
|
||||
def parseFile(self, file: SupportsRead[ReadableBuffer | str]) -> DocumentFragment: ... # type: ignore[override]
|
||||
def parseString(self, string: ReadableBuffer | str) -> DocumentFragment: ... # type: ignore[override]
|
||||
def external_entity_ref_handler(self, context: str, base: str | None, systemId: str | None, publicId: str | None) -> int: ...
|
||||
|
||||
class Namespaces:
|
||||
def createParser(self): ...
|
||||
def install(self, parser) -> None: ...
|
||||
def start_namespace_decl_handler(self, prefix, uri) -> None: ...
|
||||
def start_element_handler(self, name, attributes) -> None: ...
|
||||
def end_element_handler(self, name) -> None: ...
|
||||
def createParser(self) -> XMLParserType: ...
|
||||
def install(self, parser: XMLParserType) -> None: ...
|
||||
def start_namespace_decl_handler(self, prefix: str | None, uri: str) -> None: ...
|
||||
def start_element_handler(self, name: str, attributes: list[str]) -> None: ...
|
||||
def end_element_handler(self, name: str) -> None: ... # only exists if __debug__
|
||||
|
||||
class ExpatBuilderNS(Namespaces, ExpatBuilder): ...
|
||||
class FragmentBuilderNS(Namespaces, FragmentBuilder): ...
|
||||
class ParseEscape(Exception): ...
|
||||
|
||||
class InternalSubsetExtractor(ExpatBuilder):
|
||||
subset: Any | None
|
||||
def getSubset(self) -> Any | None: ...
|
||||
subset: str | list[str] | None = None
|
||||
def getSubset(self) -> str: ...
|
||||
def parseFile(self, file: SupportsRead[ReadableBuffer | str]) -> None: ... # type: ignore[override]
|
||||
def parseString(self, string: str | ReadableBuffer) -> None: ... # type: ignore[override]
|
||||
def start_doctype_decl_handler(self, name, publicId, systemId, has_internal_subset) -> None: ... # type: ignore[override]
|
||||
def start_doctype_decl_handler( # type: ignore[override]
|
||||
self, name: str, publicId: str | None, systemId: str | None, has_internal_subset: bool
|
||||
) -> None: ...
|
||||
def end_doctype_decl_handler(self) -> NoReturn: ...
|
||||
def start_element_handler(self, name, attrs) -> NoReturn: ...
|
||||
def start_element_handler(self, name: str, attrs: list[str]) -> NoReturn: ...
|
||||
|
||||
def parse(file: str | SupportsRead[ReadableBuffer | str], namespaces: bool = True): ...
|
||||
def parseString(string: str | ReadableBuffer, namespaces: bool = True): ...
|
||||
def parseFragment(file, context, namespaces: bool = True): ...
|
||||
def parseFragmentString(string: str, context, namespaces: bool = True): ...
|
||||
def parse(file: str | SupportsRead[ReadableBuffer | str], namespaces: bool = True) -> Document: ...
|
||||
def parseString(string: str | ReadableBuffer, namespaces: bool = True) -> Document: ...
|
||||
def parseFragment(file: str | SupportsRead[ReadableBuffer | str], context: Node, namespaces: bool = True) -> DocumentFragment: ...
|
||||
def parseFragmentString(string: str | ReadableBuffer, context: Node, namespaces: bool = True) -> DocumentFragment: ...
|
||||
def makeBuilder(options: Options) -> ExpatBuilderNS | ExpatBuilder: ...
|
||||
|
|
|
|||
|
|
@ -1,33 +1,92 @@
|
|||
import sys
|
||||
import xml.dom
|
||||
from _collections_abc import dict_keys, dict_values
|
||||
from _typeshed import Incomplete, ReadableBuffer, SupportsRead, SupportsWrite
|
||||
from typing import ClassVar, Literal, NoReturn, TypeVar, overload
|
||||
from typing_extensions import Self
|
||||
from xml.dom.minicompat import NodeList
|
||||
from collections.abc import Iterable, Sequence
|
||||
from types import TracebackType
|
||||
from typing import Any, ClassVar, Generic, Literal, NoReturn, Protocol, TypeVar, overload
|
||||
from typing_extensions import Self, TypeAlias
|
||||
from xml.dom.minicompat import EmptyNodeList, NodeList
|
||||
from xml.dom.xmlbuilder import DocumentLS, DOMImplementationLS
|
||||
from xml.sax.xmlreader import XMLReader
|
||||
|
||||
_NSName: TypeAlias = tuple[str | None, str]
|
||||
|
||||
# Entity can also have children, but it's not implemented the same way as the
|
||||
# others, so is deliberately omitted here.
|
||||
_NodesWithChildren: TypeAlias = DocumentFragment | Attr | Element | Document
|
||||
_NodesThatAreChildren: TypeAlias = CDATASection | Comment | DocumentType | Element | Notation | ProcessingInstruction | Text
|
||||
|
||||
_AttrChildren: TypeAlias = Text # Also EntityReference, but we don't implement it
|
||||
_ElementChildren: TypeAlias = Element | ProcessingInstruction | Comment | Text | CDATASection
|
||||
_EntityChildren: TypeAlias = Text # I think; documentation is a little unclear
|
||||
_DocumentFragmentChildren: TypeAlias = Element | Text | CDATASection | ProcessingInstruction | Comment | Notation
|
||||
_DocumentChildren: TypeAlias = Comment | DocumentType | Element | ProcessingInstruction
|
||||
|
||||
_N = TypeVar("_N", bound=Node)
|
||||
_ChildNodeVar = TypeVar("_ChildNodeVar", bound=_NodesThatAreChildren)
|
||||
_ChildNodePlusFragmentVar = TypeVar("_ChildNodePlusFragmentVar", bound=_NodesThatAreChildren | DocumentFragment)
|
||||
_DocumentChildrenVar = TypeVar("_DocumentChildrenVar", bound=_DocumentChildren)
|
||||
_ImportableNodeVar = TypeVar(
|
||||
"_ImportableNodeVar",
|
||||
bound=DocumentFragment
|
||||
| Attr
|
||||
| Element
|
||||
| ProcessingInstruction
|
||||
| CharacterData
|
||||
| Text
|
||||
| Comment
|
||||
| CDATASection
|
||||
| Entity
|
||||
| Notation,
|
||||
)
|
||||
|
||||
class _DOMErrorHandler(Protocol):
|
||||
def handleError(self, error: Exception) -> bool: ...
|
||||
|
||||
class _UserDataHandler(Protocol):
|
||||
def handle(self, operation: int, key: str, data: Any, src: Node, dst: Node) -> None: ...
|
||||
|
||||
def parse(
|
||||
file: str | SupportsRead[ReadableBuffer | str], parser: XMLReader | None = None, bufsize: int | None = None
|
||||
) -> Document: ...
|
||||
def parseString(string: str | ReadableBuffer, parser: XMLReader | None = None) -> Document: ...
|
||||
def getDOMImplementation(features=None) -> DOMImplementation | None: ...
|
||||
@overload
|
||||
def getDOMImplementation(features: None = None) -> DOMImplementation: ...
|
||||
@overload
|
||||
def getDOMImplementation(features: str | Iterable[tuple[str, str | None]]) -> DOMImplementation | None: ...
|
||||
|
||||
class Node(xml.dom.Node):
|
||||
namespaceURI: str | None
|
||||
parentNode: Incomplete
|
||||
ownerDocument: Incomplete
|
||||
nextSibling: Incomplete
|
||||
previousSibling: Incomplete
|
||||
prefix: Incomplete
|
||||
parentNode: _NodesWithChildren | Entity | None
|
||||
ownerDocument: Document | None
|
||||
nextSibling: _NodesThatAreChildren | None
|
||||
previousSibling: _NodesThatAreChildren | None
|
||||
namespaceURI: str | None # non-null only for Element and Attr
|
||||
prefix: str | None # non-null only for NS Element and Attr
|
||||
|
||||
# These aren't defined on Node, but they exist on all Node subclasses
|
||||
# and various methods of Node require them to exist.
|
||||
childNodes: (
|
||||
NodeList[_DocumentFragmentChildren]
|
||||
| NodeList[_AttrChildren]
|
||||
| NodeList[_ElementChildren]
|
||||
| NodeList[_DocumentChildren]
|
||||
| NodeList[_EntityChildren]
|
||||
| EmptyNodeList
|
||||
)
|
||||
nodeType: ClassVar[Literal[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]
|
||||
nodeName: str | None # only possibly None on DocumentType
|
||||
|
||||
# Not defined on Node, but exist on all Node subclasses.
|
||||
nodeValue: str | None # non-null for Attr, ProcessingInstruction, Text, Comment, and CDATASection
|
||||
attributes: NamedNodeMap | None # non-null only for Element
|
||||
|
||||
@property
|
||||
def firstChild(self) -> Node | None: ...
|
||||
def firstChild(self) -> _NodesThatAreChildren | None: ...
|
||||
@property
|
||||
def lastChild(self) -> Node | None: ...
|
||||
def lastChild(self) -> _NodesThatAreChildren | None: ...
|
||||
@property
|
||||
def localName(self) -> str | None: ...
|
||||
def localName(self) -> str | None: ... # non-null only for Element and Attr
|
||||
def __bool__(self) -> Literal[True]: ...
|
||||
if sys.version_info >= (3, 9):
|
||||
@overload
|
||||
|
|
@ -95,62 +154,125 @@ class Node(xml.dom.Node):
|
|||
) -> bytes: ...
|
||||
|
||||
def hasChildNodes(self) -> bool: ...
|
||||
def insertBefore(self, newChild, refChild): ...
|
||||
def appendChild(self, node: _N) -> _N: ...
|
||||
def replaceChild(self, newChild, oldChild): ...
|
||||
def removeChild(self, oldChild): ...
|
||||
def normalize(self) -> None: ...
|
||||
def cloneNode(self, deep): ...
|
||||
def isSupported(self, feature, version): ...
|
||||
def isSameNode(self, other): ...
|
||||
def getInterface(self, feature): ...
|
||||
def getUserData(self, key): ...
|
||||
def setUserData(self, key, data, handler): ...
|
||||
childNodes: Incomplete
|
||||
def insertBefore( # type: ignore[misc]
|
||||
self: _NodesWithChildren, # pyright: ignore[reportGeneralTypeIssues]
|
||||
newChild: _ChildNodePlusFragmentVar,
|
||||
refChild: _NodesThatAreChildren | None,
|
||||
) -> _ChildNodePlusFragmentVar: ...
|
||||
def appendChild( # type: ignore[misc]
|
||||
self: _NodesWithChildren, node: _ChildNodePlusFragmentVar # pyright: ignore[reportGeneralTypeIssues]
|
||||
) -> _ChildNodePlusFragmentVar: ...
|
||||
@overload
|
||||
def replaceChild( # type: ignore[misc]
|
||||
self: _NodesWithChildren, newChild: DocumentFragment, oldChild: _ChildNodeVar
|
||||
) -> _ChildNodeVar | DocumentFragment: ...
|
||||
@overload
|
||||
def replaceChild( # type: ignore[misc]
|
||||
self: _NodesWithChildren, newChild: _NodesThatAreChildren, oldChild: _ChildNodeVar
|
||||
) -> _ChildNodeVar | None: ...
|
||||
def removeChild(self: _NodesWithChildren, oldChild: _ChildNodeVar) -> _ChildNodeVar: ... # type: ignore[misc] # pyright: ignore[reportGeneralTypeIssues]
|
||||
def normalize(self: _NodesWithChildren) -> None: ... # type: ignore[misc] # pyright: ignore[reportGeneralTypeIssues]
|
||||
def cloneNode(self, deep: bool) -> Self | None: ...
|
||||
def isSupported(self, feature: str, version: str | None) -> bool: ...
|
||||
def isSameNode(self, other: Node) -> bool: ...
|
||||
def getInterface(self, feature: str) -> Self | None: ...
|
||||
def getUserData(self, key: str) -> Any | None: ...
|
||||
def setUserData(self, key: str, data: Any, handler: _UserDataHandler) -> Any: ...
|
||||
def unlink(self) -> None: ...
|
||||
def __enter__(self) -> Self: ...
|
||||
def __exit__(self, et, ev, tb) -> None: ...
|
||||
def __exit__(self, et: type[BaseException] | None, ev: BaseException | None, tb: TracebackType | None) -> None: ...
|
||||
|
||||
_DFChildrenVar = TypeVar("_DFChildrenVar", bound=_DocumentFragmentChildren)
|
||||
_DFChildrenPlusFragment = TypeVar("_DFChildrenPlusFragment", bound=_DocumentFragmentChildren | DocumentFragment)
|
||||
|
||||
class DocumentFragment(Node):
|
||||
nodeType: int
|
||||
nodeName: str
|
||||
nodeValue: Incomplete
|
||||
attributes: Incomplete
|
||||
parentNode: Incomplete
|
||||
childNodes: Incomplete
|
||||
nodeType: ClassVar[Literal[11]]
|
||||
nodeName: Literal["#document-fragment"]
|
||||
nodeValue: None
|
||||
attributes: None
|
||||
|
||||
parentNode: None
|
||||
nextSibling: None
|
||||
previousSibling: None
|
||||
childNodes: NodeList[_DocumentFragmentChildren]
|
||||
@property
|
||||
def firstChild(self) -> _DocumentFragmentChildren | None: ...
|
||||
@property
|
||||
def lastChild(self) -> _DocumentFragmentChildren | None: ...
|
||||
|
||||
namespaceURI: None
|
||||
prefix: None
|
||||
@property
|
||||
def localName(self) -> None: ...
|
||||
def __init__(self) -> None: ...
|
||||
def insertBefore( # type: ignore[override]
|
||||
self, newChild: _DFChildrenPlusFragment, refChild: _DocumentFragmentChildren | None
|
||||
) -> _DFChildrenPlusFragment: ...
|
||||
def appendChild(self, node: _DFChildrenPlusFragment) -> _DFChildrenPlusFragment: ... # type: ignore[override]
|
||||
@overload # type: ignore[override]
|
||||
def replaceChild(self, newChild: DocumentFragment, oldChild: _DFChildrenVar) -> _DFChildrenVar | DocumentFragment: ...
|
||||
@overload
|
||||
def replaceChild(self, newChild: _DocumentFragmentChildren, oldChild: _DFChildrenVar) -> _DFChildrenVar | None: ... # type: ignore[override]
|
||||
def removeChild(self, oldChild: _DFChildrenVar) -> _DFChildrenVar: ... # type: ignore[override]
|
||||
|
||||
_AttrChildrenVar = TypeVar("_AttrChildrenVar", bound=_AttrChildren)
|
||||
_AttrChildrenPlusFragment = TypeVar("_AttrChildrenPlusFragment", bound=_AttrChildren | DocumentFragment)
|
||||
|
||||
class Attr(Node):
|
||||
name: str
|
||||
nodeType: int
|
||||
attributes: Incomplete
|
||||
specified: bool
|
||||
ownerElement: Incomplete
|
||||
nodeType: ClassVar[Literal[2]]
|
||||
nodeName: str # same as Attr.name
|
||||
nodeValue: str # same as Attr.value
|
||||
attributes: None
|
||||
|
||||
parentNode: None
|
||||
nextSibling: None
|
||||
previousSibling: None
|
||||
childNodes: NodeList[_AttrChildren]
|
||||
@property
|
||||
def firstChild(self) -> _AttrChildren | None: ...
|
||||
@property
|
||||
def lastChild(self) -> _AttrChildren | None: ...
|
||||
|
||||
namespaceURI: str | None
|
||||
childNodes: Incomplete
|
||||
nodeName: Incomplete
|
||||
nodeValue: str
|
||||
prefix: str | None
|
||||
@property
|
||||
def localName(self) -> str: ...
|
||||
|
||||
name: str
|
||||
value: str
|
||||
prefix: Incomplete
|
||||
specified: bool
|
||||
ownerElement: Element | None
|
||||
|
||||
def __init__(
|
||||
self, qName: str, namespaceURI: str | None = None, localName: str | None = None, prefix: Incomplete | None = None
|
||||
self, qName: str, namespaceURI: str | None = None, localName: str | None = None, prefix: str | None = None
|
||||
) -> None: ...
|
||||
def unlink(self) -> None: ...
|
||||
@property
|
||||
def isId(self) -> bool: ...
|
||||
@property
|
||||
def schemaType(self): ...
|
||||
def schemaType(self) -> TypeInfo: ...
|
||||
def insertBefore(self, newChild: _AttrChildrenPlusFragment, refChild: _AttrChildren | None) -> _AttrChildrenPlusFragment: ... # type: ignore[override]
|
||||
def appendChild(self, node: _AttrChildrenPlusFragment) -> _AttrChildrenPlusFragment: ... # type: ignore[override]
|
||||
@overload # type: ignore[override]
|
||||
def replaceChild(self, newChild: DocumentFragment, oldChild: _AttrChildrenVar) -> _AttrChildrenVar | DocumentFragment: ...
|
||||
@overload
|
||||
def replaceChild(self, newChild: _AttrChildren, oldChild: _AttrChildrenVar) -> _AttrChildrenVar | None: ... # type: ignore[override]
|
||||
def removeChild(self, oldChild: _AttrChildrenVar) -> _AttrChildrenVar: ... # type: ignore[override]
|
||||
|
||||
# In the DOM, this interface isn't specific to Attr, but our implementation is
|
||||
# because that's the only place we use it.
|
||||
class NamedNodeMap:
|
||||
def __init__(self, attrs, attrsNS, ownerElement) -> None: ...
|
||||
def item(self, index): ...
|
||||
def items(self): ...
|
||||
def itemsNS(self): ...
|
||||
def __contains__(self, key): ...
|
||||
def keys(self): ...
|
||||
def keysNS(self): ...
|
||||
def values(self): ...
|
||||
def get(self, name: str, value: Incomplete | None = None): ...
|
||||
def __init__(self, attrs: dict[str, Attr], attrsNS: dict[_NSName, Attr], ownerElement: Element) -> None: ...
|
||||
@property
|
||||
def length(self) -> int: ...
|
||||
def item(self, index: int) -> Node | None: ...
|
||||
def items(self) -> list[tuple[str, str]]: ...
|
||||
def itemsNS(self) -> list[tuple[_NSName, str]]: ...
|
||||
def __contains__(self, key: str | _NSName) -> bool: ...
|
||||
def keys(self) -> dict_keys[str, Attr]: ...
|
||||
def keysNS(self) -> dict_keys[_NSName, Attr]: ...
|
||||
def values(self) -> dict_values[str, Attr]: ...
|
||||
def get(self, name: str, value: Attr | None = None) -> Attr | None: ...
|
||||
__hash__: ClassVar[None] # type: ignore[assignment]
|
||||
def __len__(self) -> int: ...
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
|
|
@ -158,135 +280,227 @@ class NamedNodeMap:
|
|||
def __gt__(self, other: NamedNodeMap) -> bool: ...
|
||||
def __le__(self, other: NamedNodeMap) -> bool: ...
|
||||
def __lt__(self, other: NamedNodeMap) -> bool: ...
|
||||
def __getitem__(self, attname_or_tuple: tuple[str, str | None] | str): ...
|
||||
def __getitem__(self, attname_or_tuple: _NSName | str) -> Attr: ...
|
||||
def __setitem__(self, attname: str, value: Attr | str) -> None: ...
|
||||
def getNamedItem(self, name: str) -> Attr | None: ...
|
||||
def getNamedItemNS(self, namespaceURI: str, localName: str | None) -> Attr | None: ...
|
||||
def getNamedItemNS(self, namespaceURI: str | None, localName: str) -> Attr | None: ...
|
||||
def removeNamedItem(self, name: str) -> Attr: ...
|
||||
def removeNamedItemNS(self, namespaceURI: str, localName: str | None): ...
|
||||
def setNamedItem(self, node: Attr) -> Attr: ...
|
||||
def setNamedItemNS(self, node: Attr) -> Attr: ...
|
||||
def __delitem__(self, attname_or_tuple: tuple[str, str | None] | str) -> None: ...
|
||||
@property
|
||||
def length(self) -> int: ...
|
||||
def removeNamedItemNS(self, namespaceURI: str | None, localName: str) -> Attr: ...
|
||||
def setNamedItem(self, node: Attr) -> Attr | None: ...
|
||||
def setNamedItemNS(self, node: Attr) -> Attr | None: ...
|
||||
def __delitem__(self, attname_or_tuple: _NSName | str) -> None: ...
|
||||
|
||||
AttributeList = NamedNodeMap
|
||||
|
||||
class TypeInfo:
|
||||
namespace: Incomplete | None
|
||||
name: str
|
||||
def __init__(self, namespace: Incomplete | None, name: str) -> None: ...
|
||||
namespace: str | None
|
||||
name: str | None
|
||||
def __init__(self, namespace: Incomplete | None, name: str | None) -> None: ...
|
||||
|
||||
_ElementChildrenVar = TypeVar("_ElementChildrenVar", bound=_ElementChildren)
|
||||
_ElementChildrenPlusFragment = TypeVar("_ElementChildrenPlusFragment", bound=_ElementChildren | DocumentFragment)
|
||||
|
||||
class Element(Node):
|
||||
nodeType: int
|
||||
nodeValue: Incomplete
|
||||
schemaType: Incomplete
|
||||
parentNode: Incomplete
|
||||
tagName: str
|
||||
nodeName: str
|
||||
prefix: Incomplete
|
||||
nodeType: ClassVar[Literal[1]]
|
||||
nodeName: str # same as Element.tagName
|
||||
nodeValue: None
|
||||
@property
|
||||
def attributes(self) -> NamedNodeMap: ... # type: ignore[override]
|
||||
|
||||
parentNode: Document | Element | DocumentFragment | None
|
||||
nextSibling: _DocumentChildren | _ElementChildren | _DocumentFragmentChildren | None
|
||||
previousSibling: _DocumentChildren | _ElementChildren | _DocumentFragmentChildren | None
|
||||
childNodes: NodeList[_ElementChildren]
|
||||
@property
|
||||
def firstChild(self) -> _ElementChildren | None: ...
|
||||
@property
|
||||
def lastChild(self) -> _ElementChildren | None: ...
|
||||
|
||||
namespaceURI: str | None
|
||||
childNodes: Incomplete
|
||||
nextSibling: Incomplete
|
||||
prefix: str | None
|
||||
@property
|
||||
def localName(self) -> str: ...
|
||||
|
||||
schemaType: TypeInfo
|
||||
tagName: str
|
||||
|
||||
def __init__(
|
||||
self, tagName, namespaceURI: str | None = None, prefix: Incomplete | None = None, localName: Incomplete | None = None
|
||||
self, tagName: str, namespaceURI: str | None = None, prefix: str | None = None, localName: str | None = None
|
||||
) -> None: ...
|
||||
def unlink(self) -> None: ...
|
||||
def getAttribute(self, attname: str) -> str: ...
|
||||
def getAttributeNS(self, namespaceURI: str, localName): ...
|
||||
def getAttributeNS(self, namespaceURI: str | None, localName: str) -> str: ...
|
||||
def setAttribute(self, attname: str, value: str) -> None: ...
|
||||
def setAttributeNS(self, namespaceURI: str, qualifiedName: str, value) -> None: ...
|
||||
def getAttributeNode(self, attrname: str): ...
|
||||
def getAttributeNodeNS(self, namespaceURI: str, localName): ...
|
||||
def setAttributeNode(self, attr): ...
|
||||
setAttributeNodeNS: Incomplete
|
||||
def setAttributeNS(self, namespaceURI: str | None, qualifiedName: str, value: str) -> None: ...
|
||||
def getAttributeNode(self, attrname: str) -> Attr | None: ...
|
||||
def getAttributeNodeNS(self, namespaceURI: str | None, localName: str) -> Attr | None: ...
|
||||
def setAttributeNode(self, attr: Attr) -> Attr | None: ...
|
||||
setAttributeNodeNS = setAttributeNode
|
||||
def removeAttribute(self, name: str) -> None: ...
|
||||
def removeAttributeNS(self, namespaceURI: str, localName) -> None: ...
|
||||
def removeAttributeNode(self, node): ...
|
||||
removeAttributeNodeNS: Incomplete
|
||||
def removeAttributeNS(self, namespaceURI: str | None, localName: str) -> None: ...
|
||||
def removeAttributeNode(self, node: Attr) -> Attr: ...
|
||||
removeAttributeNodeNS = removeAttributeNode
|
||||
def hasAttribute(self, name: str) -> bool: ...
|
||||
def hasAttributeNS(self, namespaceURI: str, localName) -> bool: ...
|
||||
def hasAttributeNS(self, namespaceURI: str | None, localName: str) -> bool: ...
|
||||
def getElementsByTagName(self, name: str) -> NodeList[Element]: ...
|
||||
def getElementsByTagNameNS(self, namespaceURI: str, localName: str) -> NodeList[Element]: ...
|
||||
def getElementsByTagNameNS(self, namespaceURI: str | None, localName: str) -> NodeList[Element]: ...
|
||||
def writexml(self, writer: SupportsWrite[str], indent: str = "", addindent: str = "", newl: str = "") -> None: ...
|
||||
def hasAttributes(self) -> bool: ...
|
||||
def setIdAttribute(self, name) -> None: ...
|
||||
def setIdAttributeNS(self, namespaceURI: str, localName) -> None: ...
|
||||
def setIdAttributeNode(self, idAttr) -> None: ...
|
||||
@property
|
||||
def attributes(self) -> NamedNodeMap: ...
|
||||
def setIdAttribute(self, name: str) -> None: ...
|
||||
def setIdAttributeNS(self, namespaceURI: str | None, localName: str) -> None: ...
|
||||
def setIdAttributeNode(self, idAttr: Attr) -> None: ...
|
||||
def insertBefore( # type: ignore[override]
|
||||
self, newChild: _ElementChildrenPlusFragment, refChild: _ElementChildren | None
|
||||
) -> _ElementChildrenPlusFragment: ...
|
||||
def appendChild(self, node: _ElementChildrenPlusFragment) -> _ElementChildrenPlusFragment: ... # type: ignore[override]
|
||||
@overload # type: ignore[override]
|
||||
def replaceChild(
|
||||
self, newChild: DocumentFragment, oldChild: _ElementChildrenVar
|
||||
) -> _ElementChildrenVar | DocumentFragment: ...
|
||||
@overload
|
||||
def replaceChild(self, newChild: _ElementChildren, oldChild: _ElementChildrenVar) -> _ElementChildrenVar | None: ... # type: ignore[override]
|
||||
def removeChild(self, oldChild: _ElementChildrenVar) -> _ElementChildrenVar: ... # type: ignore[override]
|
||||
|
||||
class Childless:
|
||||
attributes: Incomplete
|
||||
childNodes: Incomplete
|
||||
firstChild: Incomplete
|
||||
lastChild: Incomplete
|
||||
def appendChild(self, node) -> NoReturn: ...
|
||||
def hasChildNodes(self) -> bool: ...
|
||||
def insertBefore(self, newChild, refChild) -> NoReturn: ...
|
||||
def removeChild(self, oldChild) -> NoReturn: ...
|
||||
attributes: None
|
||||
childNodes: EmptyNodeList
|
||||
@property
|
||||
def firstChild(self) -> None: ...
|
||||
@property
|
||||
def lastChild(self) -> None: ...
|
||||
def appendChild(self, node: _NodesThatAreChildren | DocumentFragment) -> NoReturn: ...
|
||||
def hasChildNodes(self) -> Literal[False]: ...
|
||||
def insertBefore(
|
||||
self, newChild: _NodesThatAreChildren | DocumentFragment, refChild: _NodesThatAreChildren | None
|
||||
) -> NoReturn: ...
|
||||
def removeChild(self, oldChild: _NodesThatAreChildren) -> NoReturn: ...
|
||||
def normalize(self) -> None: ...
|
||||
def replaceChild(self, newChild, oldChild) -> NoReturn: ...
|
||||
def replaceChild(self, newChild: _NodesThatAreChildren | DocumentFragment, oldChild: _NodesThatAreChildren) -> NoReturn: ...
|
||||
|
||||
class ProcessingInstruction(Childless, Node):
|
||||
nodeType: int
|
||||
target: Incomplete
|
||||
data: Incomplete
|
||||
def __init__(self, target, data) -> None: ...
|
||||
nodeValue: Incomplete
|
||||
nodeName: Incomplete
|
||||
nodeType: ClassVar[Literal[7]]
|
||||
nodeName: str # same as ProcessingInstruction.target
|
||||
nodeValue: str # same as ProcessingInstruction.data
|
||||
attributes: None
|
||||
|
||||
parentNode: Document | Element | DocumentFragment | None
|
||||
nextSibling: _DocumentChildren | _ElementChildren | _DocumentFragmentChildren | None
|
||||
previousSibling: _DocumentChildren | _ElementChildren | _DocumentFragmentChildren | None
|
||||
childNodes: EmptyNodeList
|
||||
@property
|
||||
def firstChild(self) -> None: ...
|
||||
@property
|
||||
def lastChild(self) -> None: ...
|
||||
|
||||
namespaceURI: None
|
||||
prefix: None
|
||||
@property
|
||||
def localName(self) -> None: ...
|
||||
|
||||
target: str
|
||||
data: str
|
||||
|
||||
def __init__(self, target: str, data: str) -> None: ...
|
||||
def writexml(self, writer: SupportsWrite[str], indent: str = "", addindent: str = "", newl: str = "") -> None: ...
|
||||
|
||||
class CharacterData(Childless, Node):
|
||||
ownerDocument: Incomplete
|
||||
previousSibling: Incomplete
|
||||
def __init__(self) -> None: ...
|
||||
def __len__(self) -> int: ...
|
||||
nodeValue: str
|
||||
attributes: None
|
||||
|
||||
childNodes: EmptyNodeList
|
||||
nextSibling: _NodesThatAreChildren | None
|
||||
previousSibling: _NodesThatAreChildren | None
|
||||
|
||||
@property
|
||||
def localName(self) -> None: ...
|
||||
|
||||
ownerDocument: Document | None
|
||||
data: str
|
||||
nodeValue: Incomplete
|
||||
|
||||
def __init__(self) -> None: ...
|
||||
@property
|
||||
def length(self) -> int: ...
|
||||
def __len__(self) -> int: ...
|
||||
def substringData(self, offset: int, count: int) -> str: ...
|
||||
def appendData(self, arg: str) -> None: ...
|
||||
def insertData(self, offset: int, arg: str) -> None: ...
|
||||
def deleteData(self, offset: int, count: int) -> None: ...
|
||||
def replaceData(self, offset: int, count: int, arg: str) -> None: ...
|
||||
@property
|
||||
def length(self) -> int: ...
|
||||
|
||||
class Text(CharacterData):
|
||||
nodeType: int
|
||||
nodeName: str
|
||||
attributes: Incomplete
|
||||
data: Incomplete
|
||||
nodeType: ClassVar[Literal[3]]
|
||||
nodeName: Literal["#text"]
|
||||
nodeValue: str # same as CharacterData.data, the content of the text node
|
||||
attributes: None
|
||||
|
||||
parentNode: Attr | Element | DocumentFragment | None
|
||||
nextSibling: _DocumentFragmentChildren | _ElementChildren | _AttrChildren | None
|
||||
previousSibling: _DocumentFragmentChildren | _ElementChildren | _AttrChildren | None
|
||||
childNodes: EmptyNodeList
|
||||
@property
|
||||
def firstChild(self) -> None: ...
|
||||
@property
|
||||
def lastChild(self) -> None: ...
|
||||
|
||||
namespaceURI: None
|
||||
prefix: None
|
||||
@property
|
||||
def localName(self) -> None: ...
|
||||
|
||||
data: str
|
||||
def splitText(self, offset: int) -> Self: ...
|
||||
def writexml(self, writer: SupportsWrite[str], indent: str = "", addindent: str = "", newl: str = "") -> None: ...
|
||||
def replaceWholeText(self, content) -> Self | None: ...
|
||||
def replaceWholeText(self, content: str) -> Self | None: ...
|
||||
@property
|
||||
def isWhitespaceInElementContent(self) -> bool: ...
|
||||
@property
|
||||
def wholeText(self) -> str: ...
|
||||
|
||||
class Comment(CharacterData):
|
||||
nodeType: int
|
||||
nodeName: str
|
||||
def __init__(self, data) -> None: ...
|
||||
nodeType: ClassVar[Literal[8]]
|
||||
nodeName: Literal["#comment"]
|
||||
nodeValue: str # same as CharacterData.data, the content of the comment
|
||||
attributes: None
|
||||
|
||||
parentNode: Document | Element | DocumentFragment | None
|
||||
nextSibling: _DocumentChildren | _ElementChildren | _DocumentFragmentChildren | None
|
||||
previousSibling: _DocumentChildren | _ElementChildren | _DocumentFragmentChildren | None
|
||||
childNodes: EmptyNodeList
|
||||
@property
|
||||
def firstChild(self) -> None: ...
|
||||
@property
|
||||
def lastChild(self) -> None: ...
|
||||
|
||||
namespaceURI: None
|
||||
prefix: None
|
||||
@property
|
||||
def localName(self) -> None: ...
|
||||
def __init__(self, data: str) -> None: ...
|
||||
def writexml(self, writer: SupportsWrite[str], indent: str = "", addindent: str = "", newl: str = "") -> None: ...
|
||||
|
||||
class CDATASection(Text):
|
||||
nodeType: int
|
||||
nodeName: str
|
||||
nodeType: ClassVar[Literal[4]] # type: ignore[assignment]
|
||||
nodeName: Literal["#cdata-section"] # type: ignore[assignment]
|
||||
nodeValue: str # same as CharacterData.data, the content of the CDATA Section
|
||||
attributes: None
|
||||
|
||||
parentNode: Element | DocumentFragment | None
|
||||
nextSibling: _DocumentFragmentChildren | _ElementChildren | None
|
||||
previousSibling: _DocumentFragmentChildren | _ElementChildren | None
|
||||
|
||||
def writexml(self, writer: SupportsWrite[str], indent: str = "", addindent: str = "", newl: str = "") -> None: ...
|
||||
|
||||
class ReadOnlySequentialNamedNodeMap:
|
||||
def __init__(self, seq=()) -> None: ...
|
||||
class ReadOnlySequentialNamedNodeMap(Generic[_N]):
|
||||
def __init__(self, seq: Sequence[_N] = ()) -> None: ...
|
||||
def __len__(self) -> int: ...
|
||||
def getNamedItem(self, name): ...
|
||||
def getNamedItemNS(self, namespaceURI: str, localName): ...
|
||||
def __getitem__(self, name_or_tuple): ...
|
||||
def item(self, index): ...
|
||||
def removeNamedItem(self, name) -> None: ...
|
||||
def removeNamedItemNS(self, namespaceURI: str, localName) -> None: ...
|
||||
def setNamedItem(self, node) -> None: ...
|
||||
def setNamedItemNS(self, node) -> None: ...
|
||||
def getNamedItem(self, name: str) -> _N | None: ...
|
||||
def getNamedItemNS(self, namespaceURI: str | None, localName: str) -> _N | None: ...
|
||||
def __getitem__(self, name_or_tuple: str | _NSName) -> _N | None: ...
|
||||
def item(self, index: int) -> _N | None: ...
|
||||
def removeNamedItem(self, name: str) -> NoReturn: ...
|
||||
def removeNamedItemNS(self, namespaceURI: str | None, localName: str) -> NoReturn: ...
|
||||
def setNamedItem(self, node: Node) -> NoReturn: ...
|
||||
def setNamedItemNS(self, node: Node) -> NoReturn: ...
|
||||
@property
|
||||
def length(self) -> int: ...
|
||||
|
||||
|
|
@ -295,38 +509,85 @@ class Identified:
|
|||
systemId: str | None
|
||||
|
||||
class DocumentType(Identified, Childless, Node):
|
||||
nodeType: int
|
||||
nodeValue: Incomplete
|
||||
name: Incomplete
|
||||
internalSubset: Incomplete
|
||||
entities: Incomplete
|
||||
notations: Incomplete
|
||||
nodeName: Incomplete
|
||||
def __init__(self, qualifiedName: str) -> None: ...
|
||||
def cloneNode(self, deep): ...
|
||||
nodeType: ClassVar[Literal[10]]
|
||||
nodeName: str | None # same as DocumentType.name
|
||||
nodeValue: None
|
||||
attributes: None
|
||||
|
||||
parentNode: Document | None
|
||||
nextSibling: _DocumentChildren | None
|
||||
previousSibling: _DocumentChildren | None
|
||||
childNodes: EmptyNodeList
|
||||
@property
|
||||
def firstChild(self) -> None: ...
|
||||
@property
|
||||
def lastChild(self) -> None: ...
|
||||
|
||||
namespaceURI: None
|
||||
prefix: None
|
||||
@property
|
||||
def localName(self) -> None: ...
|
||||
|
||||
name: str | None
|
||||
internalSubset: str | None
|
||||
entities: ReadOnlySequentialNamedNodeMap[Entity]
|
||||
notations: ReadOnlySequentialNamedNodeMap[Notation]
|
||||
|
||||
def __init__(self, qualifiedName: str | None) -> None: ...
|
||||
def cloneNode(self, deep: bool) -> DocumentType | None: ...
|
||||
def writexml(self, writer: SupportsWrite[str], indent: str = "", addindent: str = "", newl: str = "") -> None: ...
|
||||
|
||||
class Entity(Identified, Node):
|
||||
attributes: Incomplete
|
||||
nodeType: int
|
||||
nodeValue: Incomplete
|
||||
actualEncoding: Incomplete
|
||||
encoding: Incomplete
|
||||
version: Incomplete
|
||||
nodeName: Incomplete
|
||||
notationName: Incomplete
|
||||
childNodes: Incomplete
|
||||
def __init__(self, name, publicId, systemId, notation) -> None: ...
|
||||
def appendChild(self, newChild) -> NoReturn: ...
|
||||
def insertBefore(self, newChild, refChild) -> NoReturn: ...
|
||||
def removeChild(self, oldChild) -> NoReturn: ...
|
||||
def replaceChild(self, newChild, oldChild) -> NoReturn: ...
|
||||
nodeType: ClassVar[Literal[6]]
|
||||
nodeName: str # entity name
|
||||
nodeValue: None
|
||||
attributes: None
|
||||
|
||||
parentNode: None
|
||||
nextSibling: None
|
||||
previousSibling: None
|
||||
childNodes: NodeList[_EntityChildren]
|
||||
@property
|
||||
def firstChild(self) -> _EntityChildren | None: ...
|
||||
@property
|
||||
def lastChild(self) -> _EntityChildren | None: ...
|
||||
|
||||
namespaceURI: None
|
||||
prefix: None
|
||||
@property
|
||||
def localName(self) -> None: ...
|
||||
|
||||
actualEncoding: str | None
|
||||
encoding: str | None
|
||||
version: str | None
|
||||
notationName: str | None
|
||||
|
||||
def __init__(self, name: str, publicId: str | None, systemId: str | None, notation: str | None) -> None: ...
|
||||
def appendChild(self, newChild: _EntityChildren) -> NoReturn: ... # type: ignore[override]
|
||||
def insertBefore(self, newChild: _EntityChildren, refChild: _EntityChildren | None) -> NoReturn: ... # type: ignore[override]
|
||||
def removeChild(self, oldChild: _EntityChildren) -> NoReturn: ... # type: ignore[override]
|
||||
def replaceChild(self, newChild: _EntityChildren, oldChild: _EntityChildren) -> NoReturn: ... # type: ignore[override]
|
||||
|
||||
class Notation(Identified, Childless, Node):
|
||||
nodeType: int
|
||||
nodeValue: Incomplete
|
||||
nodeName: Incomplete
|
||||
def __init__(self, name, publicId, systemId) -> None: ...
|
||||
nodeType: ClassVar[Literal[12]]
|
||||
nodeName: str # notation name
|
||||
nodeValue: None
|
||||
attributes: None
|
||||
|
||||
parentNode: DocumentFragment | None
|
||||
nextSibling: _DocumentFragmentChildren | None
|
||||
previousSibling: _DocumentFragmentChildren | None
|
||||
childNodes: EmptyNodeList
|
||||
@property
|
||||
def firstChild(self) -> None: ...
|
||||
@property
|
||||
def lastChild(self) -> None: ...
|
||||
|
||||
namespaceURI: None
|
||||
prefix: None
|
||||
@property
|
||||
def localName(self) -> None: ...
|
||||
def __init__(self, name: str, publicId: str | None, systemId: str | None) -> None: ...
|
||||
|
||||
class DOMImplementation(DOMImplementationLS):
|
||||
def hasFeature(self, feature: str, version: str | None) -> bool: ...
|
||||
|
|
@ -335,53 +596,67 @@ class DOMImplementation(DOMImplementationLS):
|
|||
def getInterface(self, feature: str) -> Self | None: ...
|
||||
|
||||
class ElementInfo:
|
||||
tagName: Incomplete
|
||||
def __init__(self, name) -> None: ...
|
||||
def getAttributeType(self, aname): ...
|
||||
def getAttributeTypeNS(self, namespaceURI: str, localName): ...
|
||||
def isElementContent(self): ...
|
||||
def isEmpty(self): ...
|
||||
def isId(self, aname): ...
|
||||
def isIdNS(self, namespaceURI: str, localName): ...
|
||||
tagName: str
|
||||
def __init__(self, name: str) -> None: ...
|
||||
def getAttributeType(self, aname: str) -> TypeInfo: ...
|
||||
def getAttributeTypeNS(self, namespaceURI: str | None, localName: str) -> TypeInfo: ...
|
||||
def isElementContent(self) -> bool: ...
|
||||
def isEmpty(self) -> bool: ...
|
||||
def isId(self, aname: str) -> bool: ...
|
||||
def isIdNS(self, namespaceURI: str | None, localName: str) -> bool: ...
|
||||
|
||||
_DocumentChildrenPlusFragment = TypeVar("_DocumentChildrenPlusFragment", bound=_DocumentChildren | DocumentFragment)
|
||||
|
||||
class Document(Node, DocumentLS):
|
||||
implementation: Incomplete
|
||||
nodeType: int
|
||||
nodeName: str
|
||||
nodeValue: Incomplete
|
||||
attributes: Incomplete
|
||||
parentNode: Incomplete
|
||||
previousSibling: Incomplete
|
||||
nextSibling: Incomplete
|
||||
actualEncoding: Incomplete
|
||||
nodeType: ClassVar[Literal[9]]
|
||||
nodeName: Literal["#document"]
|
||||
nodeValue: None
|
||||
attributes: None
|
||||
|
||||
parentNode: None
|
||||
previousSibling: None
|
||||
nextSibling: None
|
||||
childNodes: NodeList[_DocumentChildren]
|
||||
@property
|
||||
def firstChild(self) -> _DocumentChildren | None: ...
|
||||
@property
|
||||
def lastChild(self) -> _DocumentChildren | None: ...
|
||||
|
||||
namespaceURI: None
|
||||
prefix: None
|
||||
@property
|
||||
def localName(self) -> None: ...
|
||||
|
||||
implementation: DOMImplementation
|
||||
actualEncoding: str | None
|
||||
encoding: str | None
|
||||
standalone: bool | None
|
||||
version: Incomplete
|
||||
version: str | None
|
||||
strictErrorChecking: bool
|
||||
errorHandler: Incomplete
|
||||
documentURI: Incomplete
|
||||
errorHandler: _DOMErrorHandler | None
|
||||
documentURI: str | None
|
||||
doctype: DocumentType | None
|
||||
childNodes: Incomplete
|
||||
documentElement: Element | None
|
||||
|
||||
def __init__(self) -> None: ...
|
||||
def appendChild(self, node: _N) -> _N: ...
|
||||
documentElement: Incomplete
|
||||
def removeChild(self, oldChild): ...
|
||||
def appendChild(self, node: _DocumentChildrenVar) -> _DocumentChildrenVar: ... # type: ignore[override]
|
||||
def removeChild(self, oldChild: _DocumentChildrenVar) -> _DocumentChildrenVar: ... # type: ignore[override]
|
||||
def unlink(self) -> None: ...
|
||||
def cloneNode(self, deep): ...
|
||||
def cloneNode(self, deep: bool) -> Document | None: ...
|
||||
def createDocumentFragment(self) -> DocumentFragment: ...
|
||||
def createElement(self, tagName: str) -> Element: ...
|
||||
def createTextNode(self, data: str) -> Text: ...
|
||||
def createCDATASection(self, data: str) -> CDATASection: ...
|
||||
def createComment(self, data: str) -> Comment: ...
|
||||
def createProcessingInstruction(self, target, data): ...
|
||||
def createAttribute(self, qName) -> Attr: ...
|
||||
def createElementNS(self, namespaceURI: str, qualifiedName: str): ...
|
||||
def createAttributeNS(self, namespaceURI: str, qualifiedName: str) -> Attr: ...
|
||||
def createProcessingInstruction(self, target: str, data: str) -> ProcessingInstruction: ...
|
||||
def createAttribute(self, qName: str) -> Attr: ...
|
||||
def createElementNS(self, namespaceURI: str | None, qualifiedName: str) -> Element: ...
|
||||
def createAttributeNS(self, namespaceURI: str | None, qualifiedName: str) -> Attr: ...
|
||||
def getElementById(self, id: str) -> Element | None: ...
|
||||
def getElementsByTagName(self, name: str) -> NodeList[Element]: ...
|
||||
def getElementsByTagNameNS(self, namespaceURI: str, localName: str) -> NodeList[Element]: ...
|
||||
def getElementsByTagNameNS(self, namespaceURI: str | None, localName: str) -> NodeList[Element]: ...
|
||||
def isSupported(self, feature: str, version: str | None) -> bool: ...
|
||||
def importNode(self, node, deep): ...
|
||||
def importNode(self, node: _ImportableNodeVar, deep: bool) -> _ImportableNodeVar: ...
|
||||
if sys.version_info >= (3, 9):
|
||||
def writexml(
|
||||
self,
|
||||
|
|
@ -402,4 +677,18 @@ class Document(Node, DocumentLS):
|
|||
encoding: Incomplete | None = None,
|
||||
) -> None: ...
|
||||
|
||||
def renameNode(self, n, namespaceURI: str, name): ...
|
||||
@overload
|
||||
def renameNode(self, n: Element, namespaceURI: str, name: str) -> Element: ...
|
||||
@overload
|
||||
def renameNode(self, n: Attr, namespaceURI: str, name: str) -> Attr: ...
|
||||
@overload
|
||||
def renameNode(self, n: Element | Attr, namespaceURI: str, name: str) -> Element | Attr: ...
|
||||
def insertBefore(
|
||||
self, newChild: _DocumentChildrenPlusFragment, refChild: _DocumentChildren | None # type: ignore[override]
|
||||
) -> _DocumentChildrenPlusFragment: ...
|
||||
@overload # type: ignore[override]
|
||||
def replaceChild(
|
||||
self, newChild: DocumentFragment, oldChild: _DocumentChildrenVar
|
||||
) -> _DocumentChildrenVar | DocumentFragment: ...
|
||||
@overload
|
||||
def replaceChild(self, newChild: _DocumentChildren, oldChild: _DocumentChildrenVar) -> _DocumentChildrenVar | None: ...
|
||||
|
|
|
|||
|
|
@ -1,11 +1,12 @@
|
|||
import sys
|
||||
from _typeshed import Incomplete, SupportsRead
|
||||
from collections.abc import Sequence
|
||||
from typing import Final, Literal
|
||||
from typing_extensions import TypeAlias
|
||||
from xml.dom.minidom import Document, DOMImplementation, Element, Text
|
||||
from _typeshed import Incomplete, Unused
|
||||
from collections.abc import MutableSequence, Sequence
|
||||
from typing import Final, Literal, NoReturn
|
||||
from typing_extensions import Self, TypeAlias
|
||||
from xml.dom.minidom import Comment, Document, DOMImplementation, Element, ProcessingInstruction, Text
|
||||
from xml.sax import _SupportsReadClose
|
||||
from xml.sax.handler import ContentHandler
|
||||
from xml.sax.xmlreader import XMLReader
|
||||
from xml.sax.xmlreader import AttributesImpl, AttributesNSImpl, Locator, XMLReader
|
||||
|
||||
START_ELEMENT: Final = "START_ELEMENT"
|
||||
END_ELEMENT: Final = "END_ELEMENT"
|
||||
|
|
@ -16,79 +17,93 @@ PROCESSING_INSTRUCTION: Final = "PROCESSING_INSTRUCTION"
|
|||
IGNORABLE_WHITESPACE: Final = "IGNORABLE_WHITESPACE"
|
||||
CHARACTERS: Final = "CHARACTERS"
|
||||
|
||||
_NSName: TypeAlias = tuple[str | None, str]
|
||||
_DocumentFactory: TypeAlias = DOMImplementation | None
|
||||
_Node: TypeAlias = Document | Element | Text
|
||||
|
||||
_Event: TypeAlias = tuple[
|
||||
Literal[
|
||||
Literal["START_ELEMENT"],
|
||||
Literal["END_ELEMENT"],
|
||||
Literal["COMMENT"],
|
||||
Literal["START_DOCUMENT"],
|
||||
Literal["END_DOCUMENT"],
|
||||
Literal["PROCESSING_INSTRUCTION"],
|
||||
Literal["IGNORABLE_WHITESPACE"],
|
||||
Literal["CHARACTERS"],
|
||||
],
|
||||
_Node,
|
||||
]
|
||||
_Event: TypeAlias = (
|
||||
tuple[Literal["START_ELEMENT"], Element]
|
||||
| tuple[Literal["END_ELEMENT"], Element]
|
||||
| tuple[Literal["COMMENT"], Comment]
|
||||
| tuple[Literal["START_DOCUMENT"], Document]
|
||||
| tuple[Literal["END_DOCUMENT"], Document]
|
||||
| tuple[Literal["PROCESSING_INSTRUCTION"], ProcessingInstruction]
|
||||
| tuple[Literal["IGNORABLE_WHITESPACE"], Text]
|
||||
| tuple[Literal["CHARACTERS"], Text]
|
||||
)
|
||||
|
||||
class PullDOM(ContentHandler):
|
||||
document: Document | None
|
||||
documentFactory: _DocumentFactory
|
||||
firstEvent: Incomplete
|
||||
lastEvent: Incomplete
|
||||
elementStack: Sequence[Incomplete]
|
||||
pending_events: Sequence[Incomplete]
|
||||
|
||||
# firstEvent is a list of length 2
|
||||
# firstEvent[0] is always None
|
||||
# firstEvent[1] is None prior to any events, after which it's a
|
||||
# list of length 2, where the first item is of type _Event
|
||||
# and the second item is None.
|
||||
firstEvent: list[Incomplete]
|
||||
|
||||
# lastEvent is also a list of length 2. The second item is always None,
|
||||
# and the first item is of type _Event
|
||||
# This is a slight lie: The second item is sometimes temporarily what was just
|
||||
# described for the type of lastEvent, after which lastEvent is always updated
|
||||
# with `self.lastEvent = self.lastEvent[1]`.
|
||||
lastEvent: list[Incomplete]
|
||||
|
||||
elementStack: MutableSequence[Element | Document]
|
||||
pending_events: (
|
||||
list[Sequence[tuple[Literal["COMMENT"], str] | tuple[Literal["PROCESSING_INSTRUCTION"], str, str] | None]] | None
|
||||
)
|
||||
def __init__(self, documentFactory: _DocumentFactory = None) -> None: ...
|
||||
def pop(self) -> Element: ...
|
||||
def setDocumentLocator(self, locator) -> None: ...
|
||||
def startPrefixMapping(self, prefix, uri) -> None: ...
|
||||
def endPrefixMapping(self, prefix) -> None: ...
|
||||
def startElementNS(self, name, tagName, attrs) -> None: ...
|
||||
def endElementNS(self, name, tagName) -> None: ...
|
||||
def startElement(self, name, attrs) -> None: ...
|
||||
def endElement(self, name) -> None: ...
|
||||
def comment(self, s) -> None: ...
|
||||
def processingInstruction(self, target, data) -> None: ...
|
||||
def ignorableWhitespace(self, chars) -> None: ...
|
||||
def characters(self, chars) -> None: ...
|
||||
def pop(self) -> Element | Document: ...
|
||||
def setDocumentLocator(self, locator: Locator) -> None: ...
|
||||
def startPrefixMapping(self, prefix: str | None, uri: str) -> None: ...
|
||||
def endPrefixMapping(self, prefix: str | None) -> None: ...
|
||||
def startElementNS(self, name: _NSName, tagName: str | None, attrs: AttributesNSImpl) -> None: ...
|
||||
def endElementNS(self, name: _NSName, tagName: str | None) -> None: ...
|
||||
def startElement(self, name: str, attrs: AttributesImpl) -> None: ...
|
||||
def endElement(self, name: str) -> None: ...
|
||||
def comment(self, s: str) -> None: ...
|
||||
def processingInstruction(self, target: str, data: str) -> None: ...
|
||||
def ignorableWhitespace(self, chars: str) -> None: ...
|
||||
def characters(self, chars: str) -> None: ...
|
||||
def startDocument(self) -> None: ...
|
||||
def buildDocument(self, uri, tagname): ...
|
||||
def buildDocument(self, uri: str | None, tagname: str | None) -> Element: ...
|
||||
def endDocument(self) -> None: ...
|
||||
def clear(self) -> None: ...
|
||||
|
||||
class ErrorHandler:
|
||||
def warning(self, exception) -> None: ...
|
||||
def error(self, exception) -> None: ...
|
||||
def fatalError(self, exception) -> None: ...
|
||||
def warning(self, exception: BaseException) -> None: ...
|
||||
def error(self, exception: BaseException) -> NoReturn: ...
|
||||
def fatalError(self, exception: BaseException) -> NoReturn: ...
|
||||
|
||||
class DOMEventStream:
|
||||
stream: SupportsRead[bytes] | SupportsRead[str]
|
||||
parser: XMLReader
|
||||
stream: _SupportsReadClose[bytes] | _SupportsReadClose[str]
|
||||
parser: XMLReader # Set to none after .clear() is called
|
||||
bufsize: int
|
||||
def __init__(self, stream: SupportsRead[bytes] | SupportsRead[str], parser: XMLReader, bufsize: int) -> None: ...
|
||||
pulldom: Incomplete
|
||||
pulldom: PullDOM
|
||||
def __init__(self, stream: _SupportsReadClose[bytes] | _SupportsReadClose[str], parser: XMLReader, bufsize: int) -> None: ...
|
||||
if sys.version_info < (3, 11):
|
||||
def __getitem__(self, pos): ...
|
||||
def __getitem__(self, pos: Unused) -> _Event: ...
|
||||
|
||||
def __next__(self): ...
|
||||
def __iter__(self): ...
|
||||
def getEvent(self) -> _Event: ...
|
||||
def expandNode(self, node: _Node) -> None: ...
|
||||
def __next__(self) -> _Event: ...
|
||||
def __iter__(self) -> Self: ...
|
||||
def getEvent(self) -> _Event | None: ...
|
||||
def expandNode(self, node: Document) -> None: ...
|
||||
def reset(self) -> None: ...
|
||||
def clear(self) -> None: ...
|
||||
|
||||
class SAX2DOM(PullDOM):
|
||||
def startElementNS(self, name, tagName, attrs) -> None: ...
|
||||
def startElement(self, name, attrs) -> None: ...
|
||||
def processingInstruction(self, target, data) -> None: ...
|
||||
def ignorableWhitespace(self, chars) -> None: ...
|
||||
def characters(self, chars) -> None: ...
|
||||
def startElementNS(self, name: _NSName, tagName: str | None, attrs: AttributesNSImpl) -> None: ...
|
||||
def startElement(self, name: str, attrs: AttributesImpl) -> None: ...
|
||||
def processingInstruction(self, target: str, data: str) -> None: ...
|
||||
def ignorableWhitespace(self, chars: str) -> None: ...
|
||||
def characters(self, chars: str) -> None: ...
|
||||
|
||||
default_bufsize: int
|
||||
|
||||
def parse(
|
||||
stream_or_string: str | SupportsRead[bytes] | SupportsRead[str], parser: XMLReader | None = None, bufsize: int | None = None
|
||||
stream_or_string: str | _SupportsReadClose[bytes] | _SupportsReadClose[str],
|
||||
parser: XMLReader | None = None,
|
||||
bufsize: int | None = None,
|
||||
) -> DOMEventStream: ...
|
||||
def parseString(string: str, parser: XMLReader | None = None) -> DOMEventStream: ...
|
||||
|
|
|
|||
|
|
@ -1,32 +1,9 @@
|
|||
from _typeshed import Incomplete, Unused
|
||||
from _typeshed import SupportsRead
|
||||
from typing import Any, Literal, NoReturn
|
||||
from typing_extensions import TypeAlias
|
||||
from urllib.request import OpenerDirector
|
||||
from xml.dom.expatbuilder import ExpatBuilder, ExpatBuilderNS
|
||||
from xml.dom.minidom import Node
|
||||
from xml.dom.minidom import Document, Node, _DOMErrorHandler
|
||||
|
||||
__all__ = ["DOMBuilder", "DOMEntityResolver", "DOMInputSource"]
|
||||
|
||||
# UNKNOWN TYPES:
|
||||
# - `Options.errorHandler`.
|
||||
# The same as `_DOMBuilderErrorHandlerType`?
|
||||
# Maybe `xml.sax.handler.ErrorHandler`?
|
||||
# - Return type of DOMBuilder.getFeature().
|
||||
# We could get rid of the `Incomplete` if we knew more
|
||||
# about `Options.errorHandler`.
|
||||
|
||||
# ALIASES REPRESENTING MORE UNKNOWN TYPES:
|
||||
|
||||
# probably the same as `Options.errorHandler`?
|
||||
# Maybe `xml.sax.handler.ErrorHandler`?
|
||||
_DOMBuilderErrorHandlerType: TypeAlias = Incomplete | None
|
||||
# probably some kind of IO...
|
||||
_DOMInputSourceCharacterStreamType: TypeAlias = Incomplete | None
|
||||
# probably a string??
|
||||
_DOMInputSourceStringDataType: TypeAlias = Incomplete | None
|
||||
# probably a string??
|
||||
_DOMInputSourceEncodingType: TypeAlias = Incomplete | None
|
||||
|
||||
class Options:
|
||||
namespaces: int
|
||||
namespace_declarations: bool
|
||||
|
|
@ -45,37 +22,35 @@ class Options:
|
|||
charset_overrides_xml_encoding: bool
|
||||
infoset: bool
|
||||
supported_mediatypes_only: bool
|
||||
errorHandler: Any | None
|
||||
filter: DOMBuilderFilter | None # a guess, but seems likely
|
||||
errorHandler: _DOMErrorHandler | None
|
||||
filter: DOMBuilderFilter | None
|
||||
|
||||
class DOMBuilder:
|
||||
entityResolver: DOMEntityResolver | None # a guess, but seems likely
|
||||
errorHandler: _DOMBuilderErrorHandlerType
|
||||
filter: DOMBuilderFilter | None # a guess, but seems likely
|
||||
entityResolver: DOMEntityResolver | None
|
||||
errorHandler: _DOMErrorHandler | None
|
||||
filter: DOMBuilderFilter | None
|
||||
ACTION_REPLACE: Literal[1]
|
||||
ACTION_APPEND_AS_CHILDREN: Literal[2]
|
||||
ACTION_INSERT_AFTER: Literal[3]
|
||||
ACTION_INSERT_BEFORE: Literal[4]
|
||||
def __init__(self) -> None: ...
|
||||
def setFeature(self, name: str, state: int) -> None: ...
|
||||
def supportsFeature(self, name: str) -> bool: ...
|
||||
def canSetFeature(self, name: str, state: int) -> bool: ...
|
||||
def canSetFeature(self, name: str, state: Literal[1, 0]) -> bool: ...
|
||||
# getFeature could return any attribute from an instance of `Options`
|
||||
def getFeature(self, name: str) -> Any: ...
|
||||
def parseURI(self, uri: str) -> ExpatBuilder | ExpatBuilderNS: ...
|
||||
def parse(self, input: DOMInputSource) -> ExpatBuilder | ExpatBuilderNS: ...
|
||||
# `input` and `cnode` argtypes for `parseWithContext` are unknowable
|
||||
# as the function does nothing with them, and always raises an exception.
|
||||
# But `input` is *probably* `DOMInputSource`?
|
||||
def parseWithContext(self, input: Unused, cnode: Unused, action: Literal[1, 2, 3, 4]) -> NoReturn: ...
|
||||
def parseURI(self, uri: str) -> Document: ...
|
||||
def parse(self, input: DOMInputSource) -> Document: ...
|
||||
def parseWithContext(self, input: DOMInputSource, cnode: Node, action: Literal[1, 2, 3, 4]) -> NoReturn: ...
|
||||
|
||||
class DOMEntityResolver:
|
||||
def resolveEntity(self, publicId: str | None, systemId: str) -> DOMInputSource: ...
|
||||
|
||||
class DOMInputSource:
|
||||
byteStream: OpenerDirector | None
|
||||
characterStream: _DOMInputSourceCharacterStreamType
|
||||
stringData: _DOMInputSourceStringDataType
|
||||
encoding: _DOMInputSourceEncodingType
|
||||
byteStream: SupportsRead[bytes] | None
|
||||
characterStream: SupportsRead[str] | None
|
||||
stringData: str | None
|
||||
encoding: str | None
|
||||
publicId: str | None
|
||||
systemId: str | None
|
||||
baseURI: str | None
|
||||
|
|
@ -86,18 +61,14 @@ class DOMBuilderFilter:
|
|||
FILTER_SKIP: Literal[3]
|
||||
FILTER_INTERRUPT: Literal[4]
|
||||
whatToShow: int
|
||||
def acceptNode(self, element: Unused) -> Literal[1]: ...
|
||||
def startContainer(self, element: Unused) -> Literal[1]: ...
|
||||
def acceptNode(self, element: Node) -> Literal[1, 2, 3, 4]: ...
|
||||
def startContainer(self, element: Node) -> Literal[1, 2, 3, 4]: ...
|
||||
|
||||
class DocumentLS:
|
||||
async_: bool
|
||||
def abort(self) -> NoReturn: ...
|
||||
# `load()` and `loadXML()` always raise exceptions
|
||||
# so the argtypes of `uri` and `source` are unknowable.
|
||||
# `source` is *probably* `DOMInputSource`?
|
||||
# `uri` is *probably* a str? (see DOMBuilder.parseURI())
|
||||
def load(self, uri: Unused) -> NoReturn: ...
|
||||
def loadXML(self, source: Unused) -> NoReturn: ...
|
||||
def load(self, uri: str) -> NoReturn: ...
|
||||
def loadXML(self, source: str) -> NoReturn: ...
|
||||
def saveXML(self, snode: Node | None) -> str: ...
|
||||
|
||||
class DOMImplementationLS:
|
||||
|
|
|
|||
|
|
@ -1,9 +1,14 @@
|
|||
import sys
|
||||
from _typeshed import FileDescriptorOrPath
|
||||
from collections.abc import Callable
|
||||
from typing import Final
|
||||
from typing import Final, Literal, Protocol, overload
|
||||
from xml.etree.ElementTree import Element
|
||||
|
||||
class _Loader(Protocol):
|
||||
@overload
|
||||
def __call__(self, href: FileDescriptorOrPath, parse: Literal["xml"], encoding: str | None = None) -> Element: ...
|
||||
@overload
|
||||
def __call__(self, href: FileDescriptorOrPath, parse: Literal["text"], encoding: str | None = None) -> str: ...
|
||||
|
||||
XINCLUDE: Final[str]
|
||||
XINCLUDE_INCLUDE: Final[str]
|
||||
XINCLUDE_FALLBACK: Final[str]
|
||||
|
|
@ -13,17 +18,15 @@ if sys.version_info >= (3, 9):
|
|||
|
||||
class FatalIncludeError(SyntaxError): ...
|
||||
|
||||
def default_loader(href: FileDescriptorOrPath, parse: str, encoding: str | None = None) -> str | Element: ...
|
||||
@overload
|
||||
def default_loader(href: FileDescriptorOrPath, parse: Literal["xml"], encoding: str | None = None) -> Element: ...
|
||||
@overload
|
||||
def default_loader(href: FileDescriptorOrPath, parse: Literal["text"], encoding: str | None = None) -> str: ...
|
||||
|
||||
# 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 = None, base_url: str | None = None, max_depth: int | None = 6
|
||||
) -> None: ...
|
||||
def include(elem: Element, loader: _Loader | None = None, base_url: str | None = None, max_depth: int | None = 6) -> None: ...
|
||||
|
||||
class LimitedRecursiveIncludeError(FatalIncludeError): ...
|
||||
|
||||
else:
|
||||
def include(elem: Element, loader: Callable[..., str | Element] | None = None) -> None: ...
|
||||
def include(elem: Element, loader: _Loader | None = None) -> None: ...
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
from collections.abc import Callable, Generator
|
||||
from collections.abc import Callable, Generator, Iterable
|
||||
from re import Pattern
|
||||
from typing import TypeVar
|
||||
from typing import Any, Literal, TypeVar, overload
|
||||
from typing_extensions import TypeAlias
|
||||
from xml.etree.ElementTree import Element
|
||||
|
||||
|
|
@ -8,27 +8,34 @@ xpath_tokenizer_re: Pattern[str]
|
|||
|
||||
_Token: TypeAlias = tuple[str, str]
|
||||
_Next: TypeAlias = Callable[[], _Token]
|
||||
_Callback: TypeAlias = Callable[[_SelectorContext, list[Element]], Generator[Element, None, None]]
|
||||
_Callback: TypeAlias = Callable[[_SelectorContext, Iterable[Element]], Generator[Element, None, None]]
|
||||
_T = TypeVar("_T")
|
||||
|
||||
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: ...
|
||||
def prepare_self(next: _Next, token: _Token) -> _Callback: ...
|
||||
def prepare_descendant(next: _Next, token: _Token) -> _Callback: ...
|
||||
def prepare_descendant(next: _Next, token: _Token) -> _Callback | None: ...
|
||||
def prepare_parent(next: _Next, token: _Token) -> _Callback: ...
|
||||
def prepare_predicate(next: _Next, token: _Token) -> _Callback: ...
|
||||
def prepare_predicate(next: _Next, token: _Token) -> _Callback | None: ...
|
||||
|
||||
ops: dict[str, Callable[[_Next, _Token], _Callback]]
|
||||
ops: dict[str, Callable[[_Next, _Token], _Callback | None]]
|
||||
|
||||
class _SelectorContext:
|
||||
parent_map: dict[Element, Element] | None
|
||||
root: Element
|
||||
def __init__(self, root: Element) -> None: ...
|
||||
|
||||
_T = TypeVar("_T")
|
||||
|
||||
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: ...
|
||||
@overload
|
||||
def iterfind( # type: ignore[overload-overlap]
|
||||
elem: Element[Any], path: Literal[""], namespaces: dict[str, str] | None = None
|
||||
) -> None: ...
|
||||
@overload
|
||||
def iterfind(elem: Element[Any], path: str, namespaces: dict[str, str] | None = None) -> Generator[Element, None, None]: ...
|
||||
def find(elem: Element[Any], path: str, namespaces: dict[str, str] | None = None) -> Element | None: ...
|
||||
def findall(elem: Element[Any], path: str, namespaces: dict[str, str] | None = None) -> list[Element]: ...
|
||||
@overload
|
||||
def findtext(elem: Element[Any], path: str, default: None = None, namespaces: dict[str, str] | None = None) -> str | None: ...
|
||||
@overload
|
||||
def findtext(elem: Element[Any], path: str, default: _T, namespaces: dict[str, str] | None = None) -> _T | str: ...
|
||||
|
|
|
|||
|
|
@ -2,8 +2,9 @@ import sys
|
|||
from _collections_abc import dict_keys
|
||||
from _typeshed import FileDescriptorOrPath, ReadableBuffer, SupportsRead, SupportsWrite
|
||||
from collections.abc import Callable, Generator, ItemsView, Iterable, Iterator, Mapping, Sequence
|
||||
from typing import Any, Final, Literal, SupportsIndex, TypeVar, overload
|
||||
from typing import Any, Final, Generic, Literal, Protocol, SupportsIndex, TypeVar, overload, type_check_only
|
||||
from typing_extensions import TypeAlias, TypeGuard, deprecated
|
||||
from xml.parsers.expat import XMLParserType
|
||||
|
||||
__all__ = [
|
||||
"C14NWriterTarget",
|
||||
|
|
@ -78,13 +79,22 @@ def canonicalize(
|
|||
exclude_tags: Iterable[str] | None = None,
|
||||
) -> None: ...
|
||||
|
||||
class Element:
|
||||
tag: str
|
||||
# The tag for Element can be set to the Comment or ProcessingInstruction
|
||||
# functions defined in this module. _ElementCallable could be a recursive
|
||||
# type, but defining it that way uncovered a bug in pytype.
|
||||
_ElementCallable: TypeAlias = Callable[..., Element[Any]]
|
||||
_CallableElement: TypeAlias = Element[_ElementCallable]
|
||||
|
||||
_Tag = TypeVar("_Tag", default=str, bound=str | _ElementCallable)
|
||||
_OtherTag = TypeVar("_OtherTag", default=str, bound=str | _ElementCallable)
|
||||
|
||||
class Element(Generic[_Tag]):
|
||||
tag: _Tag
|
||||
attrib: dict[str, str]
|
||||
text: str | None
|
||||
tail: str | None
|
||||
def __init__(self, tag: str, attrib: dict[str, str] = ..., **extra: str) -> None: ...
|
||||
def append(self, subelement: Element, /) -> None: ...
|
||||
def __init__(self, tag: _Tag, attrib: dict[str, str] = {}, **extra: str) -> None: ...
|
||||
def append(self, subelement: Element[Any], /) -> None: ...
|
||||
def clear(self) -> None: ...
|
||||
def extend(self, elements: Iterable[Element], /) -> None: ...
|
||||
def find(self, path: str, namespaces: dict[str, str] | None = None) -> Element | None: ...
|
||||
|
|
@ -100,14 +110,17 @@ class Element:
|
|||
def insert(self, index: int, subelement: Element, /) -> None: ...
|
||||
def items(self) -> ItemsView[str, str]: ...
|
||||
def iter(self, tag: str | None = None) -> Generator[Element, None, None]: ...
|
||||
@overload
|
||||
def iterfind(self, path: Literal[""], namespaces: dict[str, str] | None = None) -> None: ... # type: ignore[overload-overlap]
|
||||
@overload
|
||||
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
|
||||
def makeelement(self, tag: str, attrib: dict[str, str], /) -> Element: ...
|
||||
def makeelement(self, tag: _OtherTag, attrib: dict[str, str], /) -> Element[_OtherTag]: ...
|
||||
def remove(self, subelement: Element, /) -> None: ...
|
||||
def set(self, key: str, value: str, /) -> None: ...
|
||||
def __copy__(self) -> Element: ... # returns the type of self in Python impl, but not in C impl
|
||||
def __copy__(self) -> Element[_Tag]: ... # returns the type of self in Python impl, but not in C impl
|
||||
def __deepcopy__(self, memo: Any, /) -> Element: ... # Only exists in C impl
|
||||
def __delitem__(self, key: SupportsIndex | slice, /) -> None: ...
|
||||
@overload
|
||||
|
|
@ -130,8 +143,8 @@ class Element:
|
|||
def getiterator(self, tag: str | None = None) -> list[Element]: ...
|
||||
|
||||
def SubElement(parent: Element, tag: str, attrib: dict[str, str] = ..., **extra: str) -> Element: ...
|
||||
def Comment(text: str | None = None) -> Element: ...
|
||||
def ProcessingInstruction(target: str, text: str | None = None) -> Element: ...
|
||||
def Comment(text: str | None = None) -> _CallableElement: ...
|
||||
def ProcessingInstruction(target: str, text: str | None = None) -> _CallableElement: ...
|
||||
|
||||
PI = ProcessingInstruction
|
||||
|
||||
|
|
@ -145,9 +158,11 @@ class QName:
|
|||
def __eq__(self, other: object) -> bool: ...
|
||||
def __hash__(self) -> int: ...
|
||||
|
||||
class ElementTree:
|
||||
_Root = TypeVar("_Root", Element, Element | None, default=Element | None)
|
||||
|
||||
class ElementTree(Generic[_Root]):
|
||||
def __init__(self, element: Element | None = None, file: _FileRead | None = None) -> None: ...
|
||||
def getroot(self) -> Element | Any: ...
|
||||
def getroot(self) -> _Root: ...
|
||||
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):
|
||||
|
|
@ -159,6 +174,9 @@ class ElementTree:
|
|||
@overload
|
||||
def findtext(self, path: str, default: _T, namespaces: dict[str, str] | None = None) -> _T | str: ...
|
||||
def findall(self, path: str, namespaces: dict[str, str] | None = None) -> list[Element]: ...
|
||||
@overload
|
||||
def iterfind(self, path: Literal[""], namespaces: dict[str, str] | None = None) -> None: ... # type: ignore[overload-overlap]
|
||||
@overload
|
||||
def iterfind(self, path: str, namespaces: dict[str, str] | None = None) -> Generator[Element, None, None]: ...
|
||||
def write(
|
||||
self,
|
||||
|
|
@ -166,18 +184,20 @@ class ElementTree:
|
|||
encoding: str | None = None,
|
||||
xml_declaration: bool | None = None,
|
||||
default_namespace: str | None = None,
|
||||
method: str | None = None,
|
||||
method: Literal["xml", "html", "text", "c14n"] | None = None,
|
||||
*,
|
||||
short_empty_elements: bool = True,
|
||||
) -> None: ...
|
||||
def write_c14n(self, file: _FileWriteC14N) -> None: ...
|
||||
|
||||
HTML_EMPTY: set[str]
|
||||
|
||||
def register_namespace(prefix: str, uri: str) -> None: ...
|
||||
@overload
|
||||
def tostring(
|
||||
element: Element,
|
||||
encoding: None = None,
|
||||
method: str | None = None,
|
||||
method: Literal["xml", "html", "text", "c14n"] | None = None,
|
||||
*,
|
||||
xml_declaration: bool | None = None,
|
||||
default_namespace: str | None = None,
|
||||
|
|
@ -187,7 +207,7 @@ def tostring(
|
|||
def tostring(
|
||||
element: Element,
|
||||
encoding: Literal["unicode"],
|
||||
method: str | None = None,
|
||||
method: Literal["xml", "html", "text", "c14n"] | None = None,
|
||||
*,
|
||||
xml_declaration: bool | None = None,
|
||||
default_namespace: str | None = None,
|
||||
|
|
@ -197,7 +217,7 @@ def tostring(
|
|||
def tostring(
|
||||
element: Element,
|
||||
encoding: str,
|
||||
method: str | None = None,
|
||||
method: Literal["xml", "html", "text", "c14n"] | None = None,
|
||||
*,
|
||||
xml_declaration: bool | None = None,
|
||||
default_namespace: str | None = None,
|
||||
|
|
@ -207,7 +227,7 @@ def tostring(
|
|||
def tostringlist(
|
||||
element: Element,
|
||||
encoding: None = None,
|
||||
method: str | None = None,
|
||||
method: Literal["xml", "html", "text", "c14n"] | None = None,
|
||||
*,
|
||||
xml_declaration: bool | None = None,
|
||||
default_namespace: str | None = None,
|
||||
|
|
@ -217,7 +237,7 @@ def tostringlist(
|
|||
def tostringlist(
|
||||
element: Element,
|
||||
encoding: Literal["unicode"],
|
||||
method: str | None = None,
|
||||
method: Literal["xml", "html", "text", "c14n"] | None = None,
|
||||
*,
|
||||
xml_declaration: bool | None = None,
|
||||
default_namespace: str | None = None,
|
||||
|
|
@ -227,21 +247,23 @@ def tostringlist(
|
|||
def tostringlist(
|
||||
element: Element,
|
||||
encoding: str,
|
||||
method: str | None = None,
|
||||
method: Literal["xml", "html", "text", "c14n"] | None = None,
|
||||
*,
|
||||
xml_declaration: bool | None = None,
|
||||
default_namespace: str | None = None,
|
||||
short_empty_elements: bool = True,
|
||||
) -> list[Any]: ...
|
||||
def dump(elem: Element) -> None: ...
|
||||
def dump(elem: Element | ElementTree[Any]) -> None: ...
|
||||
|
||||
if sys.version_info >= (3, 9):
|
||||
def indent(tree: Element | ElementTree, space: str = " ", level: int = 0) -> None: ...
|
||||
def indent(tree: Element | ElementTree[Any], space: str = " ", level: int = 0) -> None: ...
|
||||
|
||||
def parse(source: _FileRead, parser: XMLParser | None = None) -> ElementTree: ...
|
||||
def parse(source: _FileRead, parser: XMLParser[Any] | None = None) -> ElementTree[Element]: ...
|
||||
|
||||
class _IterParseIterator(Iterator[tuple[str, Any]]):
|
||||
def __next__(self) -> tuple[str, Any]: ...
|
||||
# This class is defined inside the body of iterparse
|
||||
@type_check_only
|
||||
class _IterParseIterator(Iterator[tuple[str, Element]], Protocol):
|
||||
def __next__(self) -> tuple[str, Element]: ...
|
||||
if sys.version_info >= (3, 13):
|
||||
def close(self) -> None: ...
|
||||
if sys.version_info >= (3, 11):
|
||||
|
|
@ -249,13 +271,13 @@ class _IterParseIterator(Iterator[tuple[str, Any]]):
|
|||
|
||||
def iterparse(source: _FileRead, events: Sequence[str] | None = None, parser: XMLParser | None = None) -> _IterParseIterator: ...
|
||||
|
||||
class XMLPullParser:
|
||||
def __init__(self, events: Sequence[str] | None = None, *, _parser: XMLParser | None = None) -> None: ...
|
||||
_EventQueue: TypeAlias = tuple[str] | tuple[str, tuple[str, str]] | tuple[str, None]
|
||||
|
||||
class XMLPullParser(Generic[_E]):
|
||||
def __init__(self, events: Sequence[str] | None = None, *, _parser: XMLParser[_E] | 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 read_events(self) -> Iterator[_EventQueue | tuple[str, _E]]: ...
|
||||
def flush(self) -> None: ...
|
||||
|
||||
def XML(text: str | ReadableBuffer, parser: XMLParser | None = None) -> Element: ...
|
||||
|
|
@ -281,12 +303,12 @@ class TreeBuilder:
|
|||
# comment_factory can take None because passing None to Comment is not an error
|
||||
def __init__(
|
||||
self,
|
||||
element_factory: _ElementFactory | None = ...,
|
||||
element_factory: _ElementFactory | None = None,
|
||||
*,
|
||||
comment_factory: Callable[[str | None], Element] | None = ...,
|
||||
pi_factory: Callable[[str, str | None], Element] | None = ...,
|
||||
insert_comments: bool = ...,
|
||||
insert_pis: bool = ...,
|
||||
comment_factory: Callable[[str | None], Element[Any]] | None = None,
|
||||
pi_factory: Callable[[str, str | None], Element[Any]] | None = None,
|
||||
insert_comments: bool = False,
|
||||
insert_pis: bool = False,
|
||||
) -> None: ...
|
||||
insert_comments: bool
|
||||
insert_pis: bool
|
||||
|
|
@ -298,8 +320,8 @@ class TreeBuilder:
|
|||
def start(self, tag: Any, attrs: dict[Any, Any], /) -> Element: ...
|
||||
def end(self, tag: str, /) -> Element: ...
|
||||
# These two methods have pos-only parameters in the C implementation
|
||||
def comment(self, text: str | None, /) -> Element: ...
|
||||
def pi(self, target: str, text: str | None = None, /) -> Element: ...
|
||||
def comment(self, text: str | None, /) -> Element[Any]: ...
|
||||
def pi(self, target: str, text: str | None = None, /) -> Element[Any]: ...
|
||||
|
||||
class C14NWriterTarget:
|
||||
def __init__(
|
||||
|
|
@ -321,13 +343,33 @@ class C14NWriterTarget:
|
|||
def comment(self, text: str) -> None: ...
|
||||
def pi(self, target: str, data: str) -> None: ...
|
||||
|
||||
class XMLParser:
|
||||
parser: Any
|
||||
target: Any
|
||||
# The target type is tricky, because the implementation doesn't
|
||||
# require any particular attribute to be present. This documents the attributes
|
||||
# that can be present, but uncommenting any of them would require them.
|
||||
class _Target(Protocol):
|
||||
# start: Callable[str, dict[str, str], Any] | None
|
||||
# end: Callable[[str], Any] | None
|
||||
# start_ns: Callable[[str, str], Any] | None
|
||||
# end_ns: Callable[[str], Any] | None
|
||||
# data: Callable[[str], Any] | None
|
||||
# comment: Callable[[str], Any]
|
||||
# pi: Callable[[str, str], Any] | None
|
||||
# close: Callable[[], Any] | None
|
||||
...
|
||||
|
||||
_E = TypeVar("_E", default=Element)
|
||||
|
||||
# This is generic because the return type of close() depends on the target.
|
||||
# The default target is TreeBuilder, which returns Element.
|
||||
# C14NWriterTarget does not implement a close method, so using it results
|
||||
# in a type of XMLParser[None].
|
||||
class XMLParser(Generic[_E]):
|
||||
parser: XMLParserType
|
||||
target: _Target
|
||||
# TODO-what is entity used for???
|
||||
entity: Any
|
||||
entity: dict[str, str]
|
||||
version: str
|
||||
def __init__(self, *, target: Any = ..., encoding: str | None = ...) -> None: ...
|
||||
def close(self) -> Any: ...
|
||||
def __init__(self, *, target: _Target | None = None, encoding: str | None = None) -> None: ...
|
||||
def close(self) -> _E: ...
|
||||
def feed(self, data: str | ReadableBuffer, /) -> None: ...
|
||||
def flush(self) -> None: ...
|
||||
|
|
|
|||
|
|
@ -4,15 +4,15 @@ from xml.sax.xmlreader import Locator
|
|||
class SAXException(Exception):
|
||||
def __init__(self, msg: str, exception: Exception | None = None) -> None: ...
|
||||
def getMessage(self) -> str: ...
|
||||
def getException(self) -> Exception: ...
|
||||
def getException(self) -> Exception | None: ...
|
||||
def __getitem__(self, ix: object) -> NoReturn: ...
|
||||
|
||||
class SAXParseException(SAXException):
|
||||
def __init__(self, msg: str, exception: Exception | None, locator: Locator) -> None: ...
|
||||
def getColumnNumber(self) -> int: ...
|
||||
def getLineNumber(self) -> int: ...
|
||||
def getPublicId(self): ...
|
||||
def getSystemId(self): ...
|
||||
def getColumnNumber(self) -> int | None: ...
|
||||
def getLineNumber(self) -> int | None: ...
|
||||
def getPublicId(self) -> str | None: ...
|
||||
def getSystemId(self) -> str | None: ...
|
||||
|
||||
class SAXNotRecognizedException(SAXException): ...
|
||||
class SAXNotSupportedException(SAXException): ...
|
||||
|
|
|
|||
|
|
@ -1,53 +1,82 @@
|
|||
import sys
|
||||
from _typeshed import Unused
|
||||
from xml.sax import xmlreader
|
||||
from _typeshed import ReadableBuffer
|
||||
from collections.abc import Mapping
|
||||
from typing import Any, Literal, overload
|
||||
from typing_extensions import TypeAlias
|
||||
from xml.sax import _Source, xmlreader
|
||||
from xml.sax.handler import _ContentHandlerProtocol
|
||||
|
||||
if sys.version_info >= (3, 10):
|
||||
from xml.sax.handler import LexicalHandler
|
||||
|
||||
_BoolType: TypeAlias = Literal[0, 1] | bool
|
||||
|
||||
version: str
|
||||
AttributesImpl = xmlreader.AttributesImpl
|
||||
AttributesNSImpl = xmlreader.AttributesNSImpl
|
||||
|
||||
class _ClosedParser: ...
|
||||
class _ClosedParser:
|
||||
ErrorColumnNumber: int
|
||||
ErrorLineNumber: int
|
||||
|
||||
class ExpatLocator(xmlreader.Locator):
|
||||
def __init__(self, parser: ExpatParser) -> None: ...
|
||||
def getColumnNumber(self) -> int: ...
|
||||
def getColumnNumber(self) -> int | None: ...
|
||||
def getLineNumber(self) -> int: ...
|
||||
def getPublicId(self): ...
|
||||
def getSystemId(self): ...
|
||||
def getPublicId(self) -> str | None: ...
|
||||
def getSystemId(self) -> str | None: ...
|
||||
|
||||
class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator):
|
||||
def __init__(self, namespaceHandling: int = 0, bufsize: int = 65516) -> None: ...
|
||||
def parse(self, source) -> None: ...
|
||||
def prepareParser(self, source) -> None: ...
|
||||
def setContentHandler(self, handler) -> None: ...
|
||||
def getFeature(self, name: str): ...
|
||||
def setFeature(self, name: str, state) -> None: ...
|
||||
def getProperty(self, name: str): ...
|
||||
def setProperty(self, name: str, value) -> None: ...
|
||||
def __init__(self, namespaceHandling: _BoolType = 0, bufsize: int = 65516) -> None: ...
|
||||
def parse(self, source: xmlreader.InputSource | _Source) -> None: ...
|
||||
def prepareParser(self, source: xmlreader.InputSource) -> None: ...
|
||||
def setContentHandler(self, handler: _ContentHandlerProtocol) -> None: ...
|
||||
def getFeature(self, name: str) -> _BoolType: ...
|
||||
def setFeature(self, name: str, state: _BoolType) -> None: ...
|
||||
if sys.version_info >= (3, 10):
|
||||
@overload
|
||||
def getProperty(self, name: Literal["http://xml.org/sax/properties/lexical-handler"]) -> LexicalHandler | None: ...
|
||||
|
||||
@overload
|
||||
def getProperty(self, name: Literal["http://www.python.org/sax/properties/interning-dict"]) -> dict[str, Any] | None: ...
|
||||
@overload
|
||||
def getProperty(self, name: Literal["http://xml.org/sax/properties/xml-string"]) -> bytes | None: ...
|
||||
@overload
|
||||
def getProperty(self, name: str) -> object: ...
|
||||
if sys.version_info >= (3, 10):
|
||||
@overload
|
||||
def setProperty(self, name: Literal["http://xml.org/sax/properties/lexical-handler"], value: LexicalHandler) -> None: ...
|
||||
|
||||
@overload
|
||||
def setProperty(
|
||||
self, name: Literal["http://www.python.org/sax/properties/interning-dict"], value: dict[str, Any]
|
||||
) -> None: ...
|
||||
@overload
|
||||
def setProperty(self, name: str, value: object) -> None: ...
|
||||
if sys.version_info >= (3, 9):
|
||||
def feed(self, data, isFinal: bool = False) -> None: ...
|
||||
def feed(self, data: str | ReadableBuffer, isFinal: bool = False) -> None: ...
|
||||
else:
|
||||
def feed(self, data, isFinal: int = 0) -> None: ...
|
||||
def feed(self, data: str | ReadableBuffer, isFinal: _BoolType = 0) -> None: ...
|
||||
|
||||
def flush(self) -> None: ...
|
||||
def close(self) -> None: ...
|
||||
def reset(self) -> None: ...
|
||||
def getColumnNumber(self) -> int | None: ...
|
||||
def getLineNumber(self) -> int: ...
|
||||
def getPublicId(self): ...
|
||||
def getSystemId(self): ...
|
||||
def start_element(self, name: str, attrs: xmlreader.AttributesImpl) -> None: ...
|
||||
def getPublicId(self) -> str | None: ...
|
||||
def getSystemId(self) -> str | None: ...
|
||||
def start_element(self, name: str, attrs: Mapping[str, str]) -> None: ...
|
||||
def end_element(self, name: str) -> None: ...
|
||||
def start_element_ns(self, name: str, attrs) -> None: ...
|
||||
def start_element_ns(self, name: str, attrs: Mapping[str, str]) -> None: ...
|
||||
def end_element_ns(self, name: str) -> None: ...
|
||||
def processing_instruction(self, target: str, data: str) -> None: ...
|
||||
def character_data(self, data: str) -> None: ...
|
||||
def start_namespace_decl(self, prefix: str | None, uri: str) -> None: ...
|
||||
def end_namespace_decl(self, prefix: str | None) -> None: ...
|
||||
def start_doctype_decl(self, name: str, sysid: str | None, pubid: str | None, has_internal_subset: Unused) -> None: ...
|
||||
def unparsed_entity_decl(self, name, base, sysid, pubid, notation_name) -> None: ...
|
||||
def notation_decl(self, name, base, sysid, pubid) -> None: ...
|
||||
def external_entity_ref(self, context, base, sysid, pubid): ...
|
||||
def start_doctype_decl(self, name: str, sysid: str | None, pubid: str | None, has_internal_subset: bool) -> None: ...
|
||||
def unparsed_entity_decl(self, name: str, base: str | None, sysid: str, pubid: str | None, notation_name: str) -> None: ...
|
||||
def notation_decl(self, name: str, base: str | None, sysid: str, pubid: str | None) -> None: ...
|
||||
def external_entity_ref(self, context: str, base: str | None, sysid: str, pubid: str | None) -> int: ...
|
||||
def skipped_entity_handler(self, name: str, is_pe: bool) -> None: ...
|
||||
|
||||
def create_parser(namespaceHandling: int = 0, bufsize: int = 65516) -> ExpatParser: ...
|
||||
|
|
|
|||
|
|
@ -1,14 +1,36 @@
|
|||
import sys
|
||||
from typing import NoReturn
|
||||
from typing import Literal, NoReturn, Protocol, type_check_only
|
||||
from xml.sax import xmlreader
|
||||
|
||||
version: str
|
||||
|
||||
@type_check_only
|
||||
class _ErrorHandlerProtocol(Protocol): # noqa: Y046 # Protocol is not used
|
||||
def error(self, exception: BaseException) -> NoReturn: ...
|
||||
def fatalError(self, exception: BaseException) -> NoReturn: ...
|
||||
def warning(self, exception: BaseException) -> None: ...
|
||||
|
||||
class ErrorHandler:
|
||||
def error(self, exception: BaseException) -> NoReturn: ...
|
||||
def fatalError(self, exception: BaseException) -> NoReturn: ...
|
||||
def warning(self, exception: BaseException) -> None: ...
|
||||
|
||||
@type_check_only
|
||||
class _ContentHandlerProtocol(Protocol): # noqa: Y046 # Protocol is not used
|
||||
def setDocumentLocator(self, locator: xmlreader.Locator) -> None: ...
|
||||
def startDocument(self) -> None: ...
|
||||
def endDocument(self) -> None: ...
|
||||
def startPrefixMapping(self, prefix: str | None, uri: str) -> None: ...
|
||||
def endPrefixMapping(self, prefix: str | None) -> None: ...
|
||||
def startElement(self, name: str, attrs: xmlreader.AttributesImpl) -> None: ...
|
||||
def endElement(self, name: str) -> None: ...
|
||||
def startElementNS(self, name: tuple[str | None, str], qname: str | None, attrs: xmlreader.AttributesNSImpl) -> None: ...
|
||||
def endElementNS(self, name: tuple[str | None, str], qname: str | None) -> None: ...
|
||||
def characters(self, content: str) -> None: ...
|
||||
def ignorableWhitespace(self, whitespace: str) -> None: ...
|
||||
def processingInstruction(self, target: str, data: str) -> None: ...
|
||||
def skippedEntity(self, name: str) -> None: ...
|
||||
|
||||
class ContentHandler:
|
||||
def setDocumentLocator(self, locator: xmlreader.Locator) -> None: ...
|
||||
def startDocument(self) -> None: ...
|
||||
|
|
@ -17,19 +39,28 @@ class ContentHandler:
|
|||
def endPrefixMapping(self, prefix: str | None) -> None: ...
|
||||
def startElement(self, name: str, attrs: xmlreader.AttributesImpl) -> None: ...
|
||||
def endElement(self, name: str) -> None: ...
|
||||
def startElementNS(self, name: tuple[str, str], qname: str, attrs: xmlreader.AttributesNSImpl) -> None: ...
|
||||
def endElementNS(self, name: tuple[str, str], qname: str) -> None: ...
|
||||
def startElementNS(self, name: tuple[str | None, str], qname: str | None, attrs: xmlreader.AttributesNSImpl) -> None: ...
|
||||
def endElementNS(self, name: tuple[str | None, str], qname: str | None) -> None: ...
|
||||
def characters(self, content: str) -> None: ...
|
||||
def ignorableWhitespace(self, whitespace: str) -> None: ...
|
||||
def processingInstruction(self, target: str, data: str) -> None: ...
|
||||
def skippedEntity(self, name: str) -> None: ...
|
||||
|
||||
@type_check_only
|
||||
class _DTDHandlerProtocol(Protocol): # noqa: Y046 # Protocol is not used
|
||||
def notationDecl(self, name: str, publicId: str | None, systemId: str) -> None: ...
|
||||
def unparsedEntityDecl(self, name: str, publicId: str | None, systemId: str, ndata: str) -> None: ...
|
||||
|
||||
class DTDHandler:
|
||||
def notationDecl(self, name, publicId, systemId): ...
|
||||
def unparsedEntityDecl(self, name, publicId, systemId, ndata): ...
|
||||
def notationDecl(self, name: str, publicId: str | None, systemId: str) -> None: ...
|
||||
def unparsedEntityDecl(self, name: str, publicId: str | None, systemId: str, ndata: str) -> None: ...
|
||||
|
||||
@type_check_only
|
||||
class _EntityResolverProtocol(Protocol): # noqa: Y046 # Protocol is not used
|
||||
def resolveEntity(self, publicId: str | None, systemId: str) -> str: ...
|
||||
|
||||
class EntityResolver:
|
||||
def resolveEntity(self, publicId, systemId): ...
|
||||
def resolveEntity(self, publicId: str | None, systemId: str) -> str: ...
|
||||
|
||||
feature_namespaces: str
|
||||
feature_namespace_prefixes: str
|
||||
|
|
@ -38,18 +69,18 @@ feature_validation: str
|
|||
feature_external_ges: str
|
||||
feature_external_pes: str
|
||||
all_features: list[str]
|
||||
property_lexical_handler: str
|
||||
property_declaration_handler: str
|
||||
property_dom_node: str
|
||||
property_xml_string: str
|
||||
property_encoding: str
|
||||
property_interning_dict: str
|
||||
property_lexical_handler: Literal["http://xml.org/sax/properties/lexical-handler"]
|
||||
property_declaration_handler: Literal["http://xml.org/sax/properties/declaration-handler"]
|
||||
property_dom_node: Literal["http://xml.org/sax/properties/dom-node"]
|
||||
property_xml_string: Literal["http://xml.org/sax/properties/xml-string"]
|
||||
property_encoding: Literal["http://www.python.org/sax/properties/encoding"]
|
||||
property_interning_dict: Literal["http://www.python.org/sax/properties/interning-dict"]
|
||||
all_properties: list[str]
|
||||
|
||||
if sys.version_info >= (3, 10):
|
||||
class LexicalHandler:
|
||||
def comment(self, content: str) -> object: ...
|
||||
def startDTD(self, name: str, public_id: str | None, system_id: str | None) -> object: ...
|
||||
def endDTD(self) -> object: ...
|
||||
def startCDATA(self) -> object: ...
|
||||
def endCDATA(self) -> object: ...
|
||||
def comment(self, content: str) -> None: ...
|
||||
def startDTD(self, name: str, public_id: str | None, system_id: str | None) -> None: ...
|
||||
def endDTD(self) -> None: ...
|
||||
def startCDATA(self) -> None: ...
|
||||
def endCDATA(self) -> None: ...
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ from _typeshed import SupportsWrite
|
|||
from codecs import StreamReaderWriter, StreamWriter
|
||||
from collections.abc import Mapping
|
||||
from io import RawIOBase, TextIOBase
|
||||
from typing import Literal, NoReturn
|
||||
from xml.sax import _Source, handler, xmlreader
|
||||
|
||||
def escape(data: str, entities: Mapping[str, str] = {}) -> str: ...
|
||||
|
|
@ -15,23 +16,26 @@ class XMLGenerator(handler.ContentHandler):
|
|||
encoding: str = "iso-8859-1",
|
||||
short_empty_elements: bool = False,
|
||||
) -> None: ...
|
||||
def _qname(self, name: tuple[str | None, str]) -> str: ...
|
||||
def startDocument(self) -> None: ...
|
||||
def endDocument(self) -> None: ...
|
||||
def startPrefixMapping(self, prefix: str | None, uri: str) -> None: ...
|
||||
def endPrefixMapping(self, prefix: str | None) -> None: ...
|
||||
def startElement(self, name: str, attrs: xmlreader.AttributesImpl) -> None: ...
|
||||
def endElement(self, name: str) -> None: ...
|
||||
def startElementNS(self, name: tuple[str, str], qname: str, attrs: xmlreader.AttributesNSImpl) -> None: ...
|
||||
def endElementNS(self, name: tuple[str, str], qname: str) -> None: ...
|
||||
def startElementNS(self, name: tuple[str | None, str], qname: str | None, attrs: xmlreader.AttributesNSImpl) -> None: ...
|
||||
def endElementNS(self, name: tuple[str | None, str], qname: str | None) -> None: ...
|
||||
def characters(self, content: str) -> None: ...
|
||||
def ignorableWhitespace(self, content: str) -> None: ...
|
||||
def processingInstruction(self, target: str, data: str) -> None: ...
|
||||
|
||||
class XMLFilterBase(xmlreader.XMLReader):
|
||||
def __init__(self, parent: xmlreader.XMLReader | None = None) -> None: ...
|
||||
def error(self, exception): ...
|
||||
def fatalError(self, exception): ...
|
||||
def warning(self, exception): ...
|
||||
# ErrorHandler methods
|
||||
def error(self, exception: BaseException) -> NoReturn: ...
|
||||
def fatalError(self, exception: BaseException) -> NoReturn: ...
|
||||
def warning(self, exception: BaseException) -> None: ...
|
||||
# ContentHandler methods
|
||||
def setDocumentLocator(self, locator: xmlreader.Locator) -> None: ...
|
||||
def startDocument(self) -> None: ...
|
||||
def endDocument(self) -> None: ...
|
||||
|
|
@ -39,22 +43,26 @@ class XMLFilterBase(xmlreader.XMLReader):
|
|||
def endPrefixMapping(self, prefix: str | None) -> None: ...
|
||||
def startElement(self, name: str, attrs: xmlreader.AttributesImpl) -> None: ...
|
||||
def endElement(self, name: str) -> None: ...
|
||||
def startElementNS(self, name: tuple[str, str], qname: str, attrs: xmlreader.AttributesNSImpl) -> None: ...
|
||||
def endElementNS(self, name: tuple[str, str], qname: str) -> None: ...
|
||||
def startElementNS(self, name: tuple[str | None, str], qname: str | None, attrs: xmlreader.AttributesNSImpl) -> None: ...
|
||||
def endElementNS(self, name: tuple[str | None, str], qname: str | None) -> None: ...
|
||||
def characters(self, content: str) -> None: ...
|
||||
def ignorableWhitespace(self, chars: str) -> None: ...
|
||||
def processingInstruction(self, target: str, data: str) -> None: ...
|
||||
def skippedEntity(self, name: str) -> None: ...
|
||||
def notationDecl(self, name, publicId, systemId): ...
|
||||
def unparsedEntityDecl(self, name, publicId, systemId, ndata): ...
|
||||
def resolveEntity(self, publicId, systemId): ...
|
||||
def parse(self, source: _Source) -> None: ...
|
||||
def setLocale(self, locale): ...
|
||||
def getFeature(self, name: str) -> object: ...
|
||||
def setFeature(self, name: str, state: object) -> None: ...
|
||||
# DTDHandler methods
|
||||
def notationDecl(self, name: str, publicId: str | None, systemId: str) -> None: ...
|
||||
def unparsedEntityDecl(self, name: str, publicId: str | None, systemId: str, ndata: str) -> None: ...
|
||||
# EntityResolver methods
|
||||
def resolveEntity(self, publicId: str | None, systemId: str) -> str: ...
|
||||
# XMLReader methods
|
||||
def parse(self, source: xmlreader.InputSource | _Source) -> None: ...
|
||||
def setLocale(self, locale: str) -> None: ...
|
||||
def getFeature(self, name: str) -> Literal[1, 0] | bool: ...
|
||||
def setFeature(self, name: str, state: Literal[1, 0] | bool) -> None: ...
|
||||
def getProperty(self, name: str) -> object: ...
|
||||
def setProperty(self, name: str, value: object) -> None: ...
|
||||
def getParent(self) -> xmlreader.XMLReader: ...
|
||||
# XMLFilter methods
|
||||
def getParent(self) -> xmlreader.XMLReader | None: ...
|
||||
def setParent(self, parent: xmlreader.XMLReader) -> None: ...
|
||||
|
||||
def prepare_input_source(source, base=""): ...
|
||||
def prepare_input_source(source: xmlreader.InputSource | _Source, base: str = "") -> xmlreader.InputSource: ...
|
||||
|
|
|
|||
|
|
@ -1,87 +1,90 @@
|
|||
from _typeshed import ReadableBuffer
|
||||
from collections.abc import Mapping
|
||||
from typing import overload
|
||||
from typing import Generic, Literal, TypeVar, overload
|
||||
from typing_extensions import Self, TypeAlias
|
||||
from xml.sax.handler import ContentHandler, DTDHandler, EntityResolver, ErrorHandler
|
||||
from xml.sax import _Source, _SupportsReadClose
|
||||
from xml.sax.handler import _ContentHandlerProtocol, _DTDHandlerProtocol, _EntityResolverProtocol, _ErrorHandlerProtocol
|
||||
|
||||
class XMLReader:
|
||||
def parse(self, source): ...
|
||||
def getContentHandler(self) -> ContentHandler: ...
|
||||
def setContentHandler(self, handler: ContentHandler) -> None: ...
|
||||
def getDTDHandler(self) -> DTDHandler: ...
|
||||
def setDTDHandler(self, handler: DTDHandler) -> None: ...
|
||||
def getEntityResolver(self) -> EntityResolver: ...
|
||||
def setEntityResolver(self, resolver: EntityResolver) -> None: ...
|
||||
def getErrorHandler(self) -> ErrorHandler: ...
|
||||
def setErrorHandler(self, handler: ErrorHandler) -> None: ...
|
||||
def setLocale(self, locale): ...
|
||||
def getFeature(self, name: str) -> object: ...
|
||||
def setFeature(self, name: str, state: object) -> None: ...
|
||||
def parse(self, source: InputSource | _Source) -> None: ...
|
||||
def getContentHandler(self) -> _ContentHandlerProtocol: ...
|
||||
def setContentHandler(self, handler: _ContentHandlerProtocol) -> None: ...
|
||||
def getDTDHandler(self) -> _DTDHandlerProtocol: ...
|
||||
def setDTDHandler(self, handler: _DTDHandlerProtocol) -> None: ...
|
||||
def getEntityResolver(self) -> _EntityResolverProtocol: ...
|
||||
def setEntityResolver(self, resolver: _EntityResolverProtocol) -> None: ...
|
||||
def getErrorHandler(self) -> _ErrorHandlerProtocol: ...
|
||||
def setErrorHandler(self, handler: _ErrorHandlerProtocol) -> None: ...
|
||||
def setLocale(self, locale: str) -> None: ...
|
||||
def getFeature(self, name: str) -> Literal[0, 1] | bool: ...
|
||||
def setFeature(self, name: str, state: Literal[0, 1] | bool) -> None: ...
|
||||
def getProperty(self, name: str) -> object: ...
|
||||
def setProperty(self, name: str, value: object) -> None: ...
|
||||
|
||||
class IncrementalParser(XMLReader):
|
||||
def __init__(self, bufsize: int = 65536) -> None: ...
|
||||
def parse(self, source): ...
|
||||
def feed(self, data): ...
|
||||
def prepareParser(self, source): ...
|
||||
def close(self): ...
|
||||
def reset(self): ...
|
||||
def parse(self, source: InputSource | _Source) -> None: ...
|
||||
def feed(self, data: str | ReadableBuffer) -> None: ...
|
||||
def prepareParser(self, source: InputSource) -> None: ...
|
||||
def close(self) -> None: ...
|
||||
def reset(self) -> None: ...
|
||||
|
||||
class Locator:
|
||||
def getColumnNumber(self): ...
|
||||
def getLineNumber(self): ...
|
||||
def getPublicId(self): ...
|
||||
def getSystemId(self): ...
|
||||
def getColumnNumber(self) -> int | None: ...
|
||||
def getLineNumber(self) -> int | None: ...
|
||||
def getPublicId(self) -> str | None: ...
|
||||
def getSystemId(self) -> str | None: ...
|
||||
|
||||
class InputSource:
|
||||
def __init__(self, system_id: str | None = None) -> None: ...
|
||||
def setPublicId(self, public_id): ...
|
||||
def getPublicId(self): ...
|
||||
def setSystemId(self, system_id): ...
|
||||
def getSystemId(self): ...
|
||||
def setEncoding(self, encoding): ...
|
||||
def getEncoding(self): ...
|
||||
def setByteStream(self, bytefile): ...
|
||||
def getByteStream(self): ...
|
||||
def setCharacterStream(self, charfile): ...
|
||||
def getCharacterStream(self): ...
|
||||
def setPublicId(self, public_id: str | None) -> None: ...
|
||||
def getPublicId(self) -> str | None: ...
|
||||
def setSystemId(self, system_id: str | None) -> None: ...
|
||||
def getSystemId(self) -> str | None: ...
|
||||
def setEncoding(self, encoding: str | None) -> None: ...
|
||||
def getEncoding(self) -> str | None: ...
|
||||
def setByteStream(self, bytefile: _SupportsReadClose[bytes] | None) -> None: ...
|
||||
def getByteStream(self) -> _SupportsReadClose[bytes] | None: ...
|
||||
def setCharacterStream(self, charfile: _SupportsReadClose[str] | None) -> None: ...
|
||||
def getCharacterStream(self) -> _SupportsReadClose[str] | None: ...
|
||||
|
||||
class AttributesImpl:
|
||||
def __init__(self, attrs: Mapping[str, str]) -> None: ...
|
||||
_AttrKey = TypeVar("_AttrKey", default=str)
|
||||
|
||||
class AttributesImpl(Generic[_AttrKey]):
|
||||
def __init__(self, attrs: Mapping[_AttrKey, str]) -> None: ...
|
||||
def getLength(self) -> int: ...
|
||||
def getType(self, name: str) -> str: ...
|
||||
def getValue(self, name: str) -> str: ...
|
||||
def getValue(self, name: _AttrKey) -> str: ...
|
||||
def getValueByQName(self, name: str) -> str: ...
|
||||
def getNameByQName(self, name: str) -> str: ...
|
||||
def getQNameByName(self, name: str) -> str: ...
|
||||
def getNames(self) -> list[str]: ...
|
||||
def getNameByQName(self, name: str) -> _AttrKey: ...
|
||||
def getQNameByName(self, name: _AttrKey) -> str: ...
|
||||
def getNames(self) -> list[_AttrKey]: ...
|
||||
def getQNames(self) -> list[str]: ...
|
||||
def __len__(self) -> int: ...
|
||||
def __getitem__(self, name: str) -> str: ...
|
||||
def keys(self) -> list[str]: ...
|
||||
def __contains__(self, name: str) -> bool: ...
|
||||
def __getitem__(self, name: _AttrKey) -> str: ...
|
||||
def keys(self) -> list[_AttrKey]: ...
|
||||
def __contains__(self, name: _AttrKey) -> bool: ...
|
||||
@overload
|
||||
def get(self, name: str, alternative: None = None) -> str | None: ...
|
||||
def get(self, name: _AttrKey, alternative: None = None) -> str | None: ...
|
||||
@overload
|
||||
def get(self, name: str, alternative: str) -> str: ...
|
||||
def get(self, name: _AttrKey, alternative: str) -> str: ...
|
||||
def copy(self) -> Self: ...
|
||||
def items(self) -> list[tuple[str, str]]: ...
|
||||
def items(self) -> list[tuple[_AttrKey, str]]: ...
|
||||
def values(self) -> list[str]: ...
|
||||
|
||||
_NSName: TypeAlias = tuple[str | None, str]
|
||||
|
||||
class AttributesNSImpl(AttributesImpl):
|
||||
class AttributesNSImpl(AttributesImpl[_NSName]):
|
||||
def __init__(self, attrs: Mapping[_NSName, str], qnames: Mapping[_NSName, str]) -> None: ...
|
||||
def getType(self, name: _NSName) -> str: ... # type: ignore[override]
|
||||
def getValue(self, name: _NSName) -> str: ... # type: ignore[override]
|
||||
def getNameByQName(self, name: str) -> _NSName: ... # type: ignore[override]
|
||||
def getQNameByName(self, name: _NSName) -> str: ... # type: ignore[override]
|
||||
def getNames(self) -> list[_NSName]: ... # type: ignore[override]
|
||||
def __getitem__(self, name: _NSName) -> str: ... # type: ignore[override]
|
||||
def keys(self) -> list[_NSName]: ... # type: ignore[override]
|
||||
def __contains__(self, name: _NSName) -> bool: ... # type: ignore[override]
|
||||
@overload # type: ignore[override]
|
||||
def getValue(self, name: _NSName) -> str: ...
|
||||
def getNameByQName(self, name: str) -> _NSName: ...
|
||||
def getQNameByName(self, name: _NSName) -> str: ...
|
||||
def getNames(self) -> list[_NSName]: ...
|
||||
def __getitem__(self, name: _NSName) -> str: ...
|
||||
def keys(self) -> list[_NSName]: ...
|
||||
def __contains__(self, name: _NSName) -> bool: ...
|
||||
@overload
|
||||
def get(self, name: _NSName, alternative: None = None) -> str | None: ...
|
||||
@overload
|
||||
def get(self, name: _NSName, alternative: str) -> str: ...
|
||||
def items(self) -> list[tuple[_NSName, str]]: ... # type: ignore[override]
|
||||
def items(self) -> list[tuple[_NSName, str]]: ...
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue