Skip to content

Commit 32a6257

Browse files
Add missing stdlib xml stubs (#5895)
1 parent 98846a6 commit 32a6257

File tree

1 file changed

+37
-19
lines changed

1 file changed

+37
-19
lines changed

stdlib/xml/dom/pulldom.pyi

Lines changed: 37 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,44 @@
1-
from typing import IO, Any
1+
from typing import IO, Any, Sequence, Tuple, Union
2+
from typing_extensions import Literal
3+
from xml.dom.minidom import Document, DOMImplementation, Element, Text
24
from xml.sax.handler import ContentHandler
35
from xml.sax.xmlreader import XMLReader
46

5-
START_ELEMENT: str
6-
END_ELEMENT: str
7-
COMMENT: str
8-
START_DOCUMENT: str
9-
END_DOCUMENT: str
10-
PROCESSING_INSTRUCTION: str
11-
IGNORABLE_WHITESPACE: str
12-
CHARACTERS: str
7+
START_ELEMENT: Literal["START_ELEMENT"]
8+
END_ELEMENT: Literal["END_ELEMENT"]
9+
COMMENT: Literal["COMMENT"]
10+
START_DOCUMENT: Literal["START_DOCUMENT"]
11+
END_DOCUMENT: Literal["END_DOCUMENT"]
12+
PROCESSING_INSTRUCTION: Literal["PROCESSING_INSTRUCTION"]
13+
IGNORABLE_WHITESPACE: Literal["IGNORABLE_WHITESPACE"]
14+
CHARACTERS: Literal["CHARACTERS"]
15+
16+
_DocumentFactory = Union[DOMImplementation, None]
17+
_Node = Union[Document, Element, Text]
18+
19+
_Event = Tuple[
20+
Literal[
21+
Literal["START_ELEMENT"],
22+
Literal["END_ELEMENT"],
23+
Literal["COMMENT"],
24+
Literal["START_DOCUMENT"],
25+
Literal["END_DOCUMENT"],
26+
Literal["PROCESSING_INSTRUCTION"],
27+
Literal["IGNORABLE_WHITESPACE"],
28+
Literal["CHARACTERS"],
29+
],
30+
_Node,
31+
]
1332

1433
class PullDOM(ContentHandler):
15-
document: Any | None
16-
documentFactory: Any
34+
document: Document | None
35+
documentFactory: _DocumentFactory
1736
firstEvent: Any
1837
lastEvent: Any
19-
elementStack: Any
20-
push: Any
21-
pending_events: Any
22-
def __init__(self, documentFactory: Any | None = ...) -> None: ...
23-
def pop(self): ...
38+
elementStack: Sequence[Any]
39+
pending_events: Sequence[Any]
40+
def __init__(self, documentFactory: _DocumentFactory = ...) -> None: ...
41+
def pop(self) -> Element: ...
2442
def setDocumentLocator(self, locator) -> None: ...
2543
def startPrefixMapping(self, prefix, uri) -> None: ...
2644
def endPrefixMapping(self, prefix) -> None: ...
@@ -48,12 +66,12 @@ class DOMEventStream:
4866
bufsize: int
4967
def __init__(self, stream: IO[bytes], parser: XMLReader, bufsize: int) -> None: ...
5068
pulldom: Any
51-
def reset(self) -> None: ...
5269
def __getitem__(self, pos): ...
5370
def __next__(self): ...
5471
def __iter__(self): ...
55-
def expandNode(self, node) -> None: ...
56-
def getEvent(self): ...
72+
def getEvent(self) -> _Event: ...
73+
def expandNode(self, node: _Node) -> None: ...
74+
def reset(self) -> None: ...
5775
def clear(self) -> None: ...
5876

5977
class SAX2DOM(PullDOM):

0 commit comments

Comments
 (0)