xml: use SupportsRead/SupportsWrite instead of IO (#7241)

This commit is contained in:
Rogdham
2022-02-17 04:02:30 +01:00
committed by GitHub
parent 1091521f60
commit 63c20e3ce7
4 changed files with 32 additions and 20 deletions

View File

@@ -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: ...