Skip to content

Commit 269c075

Browse files
author
Kevin Kirsche
authored
Add more annotations to xml.dom.minidom and xml.sax.handler (#8590)
1 parent 57495dd commit 269c075

File tree

2 files changed

+46
-45
lines changed

2 files changed

+46
-45
lines changed

stdlib/xml/dom/minidom.pyi

Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import sys
22
import xml.dom
3-
from _typeshed import Self, SupportsRead
3+
from _typeshed import Incomplete, Self, SupportsRead, SupportsWrite
44
from typing import Any
55
from typing_extensions import Literal
66
from xml.dom.xmlbuilder import DocumentLS, DOMImplementationLS
@@ -25,11 +25,11 @@ class Node(xml.dom.Node):
2525
def localName(self) -> str | None: ...
2626
def __bool__(self) -> Literal[True]: ...
2727
if sys.version_info >= (3, 9):
28-
def toxml(self, encoding: Any | None = ..., standalone: Any | None = ...): ...
29-
def toprettyxml(self, indent: str = ..., newl: str = ..., encoding: Any | None = ..., standalone: Any | None = ...): ...
28+
def toxml(self, encoding: str | None = ..., standalone: bool | None = ...): ...
29+
def toprettyxml(self, indent: str = ..., newl: str = ..., encoding: str | None = ..., standalone: bool | None = ...): ...
3030
else:
31-
def toxml(self, encoding: Any | None = ...): ...
32-
def toprettyxml(self, indent: str = ..., newl: str = ..., encoding: Any | None = ...): ...
31+
def toxml(self, encoding: str | None = ...): ...
32+
def toprettyxml(self, indent: str = ..., newl: str = ..., encoding: str | None = ...): ...
3333

3434
def hasChildNodes(self) -> bool: ...
3535
def insertBefore(self, newChild, refChild): ...
@@ -70,7 +70,7 @@ class Attr(Node):
7070
value: str
7171
prefix: Any
7272
def __init__(
73-
self, qName: str, namespaceURI: str | None = ..., localName: Any | None = ..., prefix: Any | None = ...
73+
self, qName: str, namespaceURI: str | None = ..., localName: str | None = ..., prefix: Any | None = ...
7474
) -> None: ...
7575
def unlink(self) -> None: ...
7676
@property
@@ -87,31 +87,31 @@ class NamedNodeMap:
8787
def keys(self): ...
8888
def keysNS(self): ...
8989
def values(self): ...
90-
def get(self, name, value: Any | None = ...): ...
90+
def get(self, name: str, value: Any | None = ...): ...
9191
def __len__(self) -> int: ...
9292
def __eq__(self, other: object) -> bool: ...
93-
def __ge__(self, other: Any) -> bool: ...
94-
def __gt__(self, other: Any) -> bool: ...
95-
def __le__(self, other: Any) -> bool: ...
96-
def __lt__(self, other: Any) -> bool: ...
97-
def __getitem__(self, attname_or_tuple): ...
98-
def __setitem__(self, attname, value) -> None: ...
99-
def getNamedItem(self, name): ...
100-
def getNamedItemNS(self, namespaceURI: str, localName): ...
101-
def removeNamedItem(self, name): ...
102-
def removeNamedItemNS(self, namespaceURI: str, localName): ...
103-
def setNamedItem(self, node): ...
104-
def setNamedItemNS(self, node): ...
105-
def __delitem__(self, attname_or_tuple) -> None: ...
93+
def __ge__(self, other: NamedNodeMap) -> bool: ...
94+
def __gt__(self, other: NamedNodeMap) -> bool: ...
95+
def __le__(self, other: NamedNodeMap) -> bool: ...
96+
def __lt__(self, other: NamedNodeMap) -> bool: ...
97+
def __getitem__(self, attname_or_tuple: tuple[str, str | None] | str): ...
98+
def __setitem__(self, attname: str, value: Attr | str) -> None: ...
99+
def getNamedItem(self, name: str) -> Attr | None: ...
100+
def getNamedItemNS(self, namespaceURI: str, localName: str | None) -> Attr | None: ...
101+
def removeNamedItem(self, name: str) -> Attr: ...
102+
def removeNamedItemNS(self, namespaceURI: str, localName: str | None): ...
103+
def setNamedItem(self, node: Attr) -> Attr: ...
104+
def setNamedItemNS(self, node: Attr) -> Attr: ...
105+
def __delitem__(self, attname_or_tuple: tuple[str, str | None] | str) -> None: ...
106106
@property
107107
def length(self) -> int: ...
108108

109109
AttributeList = NamedNodeMap
110110

111111
class TypeInfo:
112-
namespace: Any
113-
name: Any
114-
def __init__(self, namespace, name) -> None: ...
112+
namespace: Incomplete | None
113+
name: str
114+
def __init__(self, namespace: Incomplete | None, name: str) -> None: ...
115115

116116
class Element(Node):
117117
nodeType: int
@@ -144,7 +144,7 @@ class Element(Node):
144144
def hasAttributeNS(self, namespaceURI: str, localName) -> bool: ...
145145
def getElementsByTagName(self, name: str): ...
146146
def getElementsByTagNameNS(self, namespaceURI: str, localName): ...
147-
def writexml(self, writer, indent: str = ..., addindent: str = ..., newl: str = ...) -> None: ...
147+
def writexml(self, writer: SupportsWrite[str], indent: str = ..., addindent: str = ..., newl: str = ...) -> None: ...
148148
def hasAttributes(self) -> bool: ...
149149
def setIdAttribute(self, name) -> None: ...
150150
def setIdAttributeNS(self, namespaceURI: str, localName) -> None: ...
@@ -171,7 +171,7 @@ class ProcessingInstruction(Childless, Node):
171171
def __init__(self, target, data) -> None: ...
172172
nodeValue: Any
173173
nodeName: Any
174-
def writexml(self, writer, indent: str = ..., addindent: str = ..., newl: str = ...) -> None: ...
174+
def writexml(self, writer: SupportsWrite[str], indent: str = ..., addindent: str = ..., newl: str = ...) -> None: ...
175175

176176
class CharacterData(Childless, Node):
177177
ownerDocument: Any
@@ -194,7 +194,7 @@ class Text(CharacterData):
194194
attributes: Any
195195
data: Any
196196
def splitText(self, offset): ...
197-
def writexml(self, writer, indent: str = ..., addindent: str = ..., newl: str = ...) -> None: ...
197+
def writexml(self, writer: SupportsWrite[str], indent: str = ..., addindent: str = ..., newl: str = ...) -> None: ...
198198
def replaceWholeText(self, content): ...
199199
@property
200200
def isWhitespaceInElementContent(self) -> bool: ...
@@ -205,12 +205,12 @@ class Comment(CharacterData):
205205
nodeType: int
206206
nodeName: str
207207
def __init__(self, data) -> None: ...
208-
def writexml(self, writer, indent: str = ..., addindent: str = ..., newl: str = ...) -> None: ...
208+
def writexml(self, writer: SupportsWrite[str], indent: str = ..., addindent: str = ..., newl: str = ...) -> None: ...
209209

210210
class CDATASection(Text):
211211
nodeType: int
212212
nodeName: str
213-
def writexml(self, writer, indent: str = ..., addindent: str = ..., newl: str = ...) -> None: ...
213+
def writexml(self, writer: SupportsWrite[str], indent: str = ..., addindent: str = ..., newl: str = ...) -> None: ...
214214

215215
class ReadOnlySequentialNamedNodeMap:
216216
def __init__(self, seq=...) -> None: ...
@@ -240,7 +240,7 @@ class DocumentType(Identified, Childless, Node):
240240
nodeName: Any
241241
def __init__(self, qualifiedName: str) -> None: ...
242242
def cloneNode(self, deep): ...
243-
def writexml(self, writer, indent: str = ..., addindent: str = ..., newl: str = ...) -> None: ...
243+
def writexml(self, writer: SupportsWrite[str], indent: str = ..., addindent: str = ..., newl: str = ...) -> None: ...
244244

245245
class Entity(Identified, Node):
246246
attributes: Any
@@ -290,47 +290,47 @@ class Document(Node, DocumentLS):
290290
previousSibling: Any
291291
nextSibling: Any
292292
actualEncoding: Any
293-
encoding: Any
294-
standalone: Any
293+
encoding: str | None
294+
standalone: bool | None
295295
version: Any
296296
strictErrorChecking: bool
297297
errorHandler: Any
298298
documentURI: Any
299-
doctype: Any
299+
doctype: DocumentType | None
300300
childNodes: Any
301301
def __init__(self) -> None: ...
302302
def appendChild(self, node): ...
303303
documentElement: Any
304304
def removeChild(self, oldChild): ...
305305
def unlink(self) -> None: ...
306306
def cloneNode(self, deep): ...
307-
def createDocumentFragment(self): ...
308-
def createElement(self, tagName: str): ...
309-
def createTextNode(self, data): ...
310-
def createCDATASection(self, data): ...
311-
def createComment(self, data): ...
307+
def createDocumentFragment(self) -> DocumentFragment: ...
308+
def createElement(self, tagName: str) -> Element: ...
309+
def createTextNode(self, data: str) -> Text: ...
310+
def createCDATASection(self, data: str) -> CDATASection: ...
311+
def createComment(self, data: str) -> Comment: ...
312312
def createProcessingInstruction(self, target, data): ...
313313
def createAttribute(self, qName) -> Attr: ...
314314
def createElementNS(self, namespaceURI: str, qualifiedName: str): ...
315315
def createAttributeNS(self, namespaceURI: str, qualifiedName: str) -> Attr: ...
316316
def getElementById(self, id): ...
317317
def getElementsByTagName(self, name: str): ...
318318
def getElementsByTagNameNS(self, namespaceURI: str, localName): ...
319-
def isSupported(self, feature, version): ...
319+
def isSupported(self, feature: str, version: str | None) -> bool: ...
320320
def importNode(self, node, deep): ...
321321
if sys.version_info >= (3, 9):
322322
def writexml(
323323
self,
324-
writer,
324+
writer: SupportsWrite[str],
325325
indent: str = ...,
326326
addindent: str = ...,
327327
newl: str = ...,
328-
encoding: Any | None = ...,
329-
standalone: Any | None = ...,
328+
encoding: str | None = ...,
329+
standalone: bool | None = ...,
330330
) -> None: ...
331331
else:
332332
def writexml(
333-
self, writer, indent: str = ..., addindent: str = ..., newl: str = ..., encoding: Any | None = ...
333+
self, writer: SupportsWrite[str], indent: str = ..., addindent: str = ..., newl: str = ..., encoding: Any | None = ...
334334
) -> None: ...
335335

336336
def renameNode(self, n, namespaceURI: str, name): ...

stdlib/xml/sax/handler.pyi

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import sys
2+
from typing import NoReturn
23

34
version: str
45

56
class ErrorHandler:
6-
def error(self, exception): ...
7-
def fatalError(self, exception): ...
8-
def warning(self, exception): ...
7+
def error(self, exception: BaseException) -> NoReturn: ...
8+
def fatalError(self, exception: BaseException) -> NoReturn: ...
9+
def warning(self, exception: BaseException) -> None: ...
910

1011
class ContentHandler:
1112
def __init__(self) -> None: ...

0 commit comments

Comments
 (0)