mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-08 04:54:47 +08:00
xml: use SupportsRead/SupportsWrite instead of IO (#7241)
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
import sys
|
||||
import xml.dom
|
||||
from _typeshed import Self
|
||||
from typing import IO, Any
|
||||
from _typeshed import Self, SupportsRead
|
||||
from typing import Any
|
||||
from xml.dom.xmlbuilder import DocumentLS, DOMImplementationLS
|
||||
from xml.sax.xmlreader import XMLReader
|
||||
|
||||
def parse(file: str | IO[Any], parser: XMLReader | None = ..., bufsize: int | None = ...): ...
|
||||
def parse(file: str | SupportsRead[bytes] | SupportsRead[str], parser: XMLReader | None = ..., bufsize: int | None = ...): ...
|
||||
def parseString(string: str | bytes, parser: XMLReader | None = ...): ...
|
||||
def getDOMImplementation(features=...) -> DOMImplementation | None: ...
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import sys
|
||||
from typing import IO, Any, Sequence, Union
|
||||
from _typeshed import SupportsRead
|
||||
from typing import Any, Sequence, Union
|
||||
from typing_extensions import Literal
|
||||
from xml.dom.minidom import Document, DOMImplementation, Element, Text
|
||||
from xml.sax.handler import ContentHandler
|
||||
@@ -62,10 +63,10 @@ class ErrorHandler:
|
||||
def fatalError(self, exception) -> None: ...
|
||||
|
||||
class DOMEventStream:
|
||||
stream: IO[bytes]
|
||||
stream: SupportsRead[bytes] | SupportsRead[str]
|
||||
parser: XMLReader
|
||||
bufsize: int
|
||||
def __init__(self, stream: IO[bytes], parser: XMLReader, bufsize: int) -> None: ...
|
||||
def __init__(self, stream: SupportsRead[bytes] | SupportsRead[str], parser: XMLReader, bufsize: int) -> None: ...
|
||||
pulldom: Any
|
||||
if sys.version_info < (3, 11):
|
||||
def __getitem__(self, pos): ...
|
||||
@@ -86,5 +87,7 @@ class SAX2DOM(PullDOM):
|
||||
|
||||
default_bufsize: int
|
||||
|
||||
def parse(stream_or_string: str | IO[bytes], parser: XMLReader | None = ..., bufsize: int | None = ...) -> DOMEventStream: ...
|
||||
def parse(
|
||||
stream_or_string: str | SupportsRead[bytes] | SupportsRead[str], parser: XMLReader | None = ..., bufsize: int | None = ...
|
||||
) -> DOMEventStream: ...
|
||||
def parseString(string: str, parser: XMLReader | None = ...) -> DOMEventStream: ...
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import sys
|
||||
from _typeshed import FileDescriptor, StrOrBytesPath, SupportsWrite
|
||||
from _typeshed import FileDescriptor, StrOrBytesPath, SupportsRead, SupportsWrite
|
||||
from typing import (
|
||||
IO,
|
||||
Any,
|
||||
Callable,
|
||||
Generator,
|
||||
@@ -19,7 +18,9 @@ from typing import (
|
||||
from typing_extensions import Literal, SupportsIndex, TypeGuard
|
||||
|
||||
_T = TypeVar("_T")
|
||||
_File = Union[StrOrBytesPath, FileDescriptor, IO[Any]]
|
||||
_FileRead = Union[StrOrBytesPath, FileDescriptor, SupportsRead[bytes], SupportsRead[str]]
|
||||
_FileWriteC14N = Union[StrOrBytesPath, FileDescriptor, SupportsWrite[bytes]]
|
||||
_FileWrite = Union[_FileWriteC14N, SupportsWrite[str]]
|
||||
|
||||
VERSION: str
|
||||
|
||||
@@ -36,7 +37,7 @@ if sys.version_info >= (3, 8):
|
||||
xml_data: str | bytes | None = ...,
|
||||
*,
|
||||
out: None = ...,
|
||||
from_file: _File | None = ...,
|
||||
from_file: _FileRead | None = ...,
|
||||
with_comments: bool = ...,
|
||||
strip_text: bool = ...,
|
||||
rewrite_prefixes: bool = ...,
|
||||
@@ -50,7 +51,7 @@ if sys.version_info >= (3, 8):
|
||||
xml_data: str | bytes | None = ...,
|
||||
*,
|
||||
out: SupportsWrite[str],
|
||||
from_file: _File | None = ...,
|
||||
from_file: _FileRead | None = ...,
|
||||
with_comments: bool = ...,
|
||||
strip_text: bool = ...,
|
||||
rewrite_prefixes: bool = ...,
|
||||
@@ -121,9 +122,9 @@ class QName:
|
||||
def __eq__(self, other: object) -> bool: ...
|
||||
|
||||
class ElementTree:
|
||||
def __init__(self, element: Element | None = ..., file: _File | None = ...) -> None: ...
|
||||
def __init__(self, element: Element | None = ..., file: _FileRead | None = ...) -> None: ...
|
||||
def getroot(self) -> Element: ...
|
||||
def parse(self, source: _File, parser: XMLParser | None = ...) -> Element: ...
|
||||
def parse(self, source: _FileRead, parser: XMLParser | None = ...) -> Element: ...
|
||||
def iter(self, tag: str | None = ...) -> Generator[Element, None, None]: ...
|
||||
if sys.version_info < (3, 9):
|
||||
def getiterator(self, tag: str | None = ...) -> list[Element]: ...
|
||||
@@ -137,7 +138,7 @@ class ElementTree:
|
||||
def iterfind(self, path: str, namespaces: dict[str, str] | None = ...) -> Generator[Element, None, None]: ...
|
||||
def write(
|
||||
self,
|
||||
file_or_filename: _File,
|
||||
file_or_filename: _FileWrite,
|
||||
encoding: str | None = ...,
|
||||
xml_declaration: bool | None = ...,
|
||||
default_namespace: str | None = ...,
|
||||
@@ -145,7 +146,7 @@ class ElementTree:
|
||||
*,
|
||||
short_empty_elements: bool = ...,
|
||||
) -> None: ...
|
||||
def write_c14n(self, file: _File) -> None: ...
|
||||
def write_c14n(self, file: _FileWriteC14N) -> None: ...
|
||||
|
||||
def register_namespace(prefix: str, uri: str) -> None: ...
|
||||
|
||||
@@ -240,8 +241,10 @@ def dump(elem: Element) -> None: ...
|
||||
if sys.version_info >= (3, 9):
|
||||
def indent(tree: Element | ElementTree, space: str = ..., level: int = ...) -> None: ...
|
||||
|
||||
def parse(source: _File, parser: XMLParser | None = ...) -> ElementTree: ...
|
||||
def iterparse(source: _File, events: Sequence[str] | None = ..., parser: XMLParser | None = ...) -> Iterator[tuple[str, Any]]: ...
|
||||
def parse(source: _FileRead, parser: XMLParser | None = ...) -> ElementTree: ...
|
||||
def iterparse(
|
||||
source: _FileRead, events: Sequence[str] | None = ..., parser: XMLParser | None = ...
|
||||
) -> Iterator[tuple[str, Any]]: ...
|
||||
|
||||
class XMLPullParser:
|
||||
def __init__(self, events: Sequence[str] | None = ..., *, _parser: XMLParser | None = ...) -> None: ...
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
import sys
|
||||
from typing import IO, Any, Iterable, NoReturn
|
||||
from _typeshed import SupportsRead, _T_co
|
||||
from typing import Any, Iterable, NoReturn, Protocol
|
||||
from xml.sax.handler import ContentHandler, ErrorHandler
|
||||
from xml.sax.xmlreader import Locator, XMLReader
|
||||
|
||||
class _SupportsReadClose(SupportsRead[_T_co], Protocol[_T_co]):
|
||||
def close(self) -> None: ...
|
||||
|
||||
class SAXException(Exception):
|
||||
def __init__(self, msg: str, exception: Exception | None = ...) -> None: ...
|
||||
def getMessage(self) -> str: ...
|
||||
@@ -28,6 +32,8 @@ if sys.version_info >= (3, 8):
|
||||
else:
|
||||
def make_parser(parser_list: list[str] = ...) -> XMLReader: ...
|
||||
|
||||
def parse(source: str | IO[str] | IO[bytes], handler: ContentHandler, errorHandler: ErrorHandler = ...) -> None: ...
|
||||
def parse(
|
||||
source: str | _SupportsReadClose[bytes] | _SupportsReadClose[str], handler: ContentHandler, errorHandler: ErrorHandler = ...
|
||||
) -> None: ...
|
||||
def parseString(string: bytes | str, handler: ContentHandler, errorHandler: ErrorHandler | None = ...) -> None: ...
|
||||
def _create_parser(parser_name: str) -> XMLReader: ...
|
||||
|
||||
Reference in New Issue
Block a user