Skip to content

Commit fe2c401

Browse files
authored
Use Final in pyexpat module (#12541)
1 parent 30bbd86 commit fe2c401

File tree

3 files changed

+60
-56
lines changed

3 files changed

+60
-56
lines changed

stdlib/pyexpat/__init__.pyi

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ class ExpatError(Exception):
1515
offset: int
1616

1717
error = ExpatError
18-
XML_PARAM_ENTITY_PARSING_NEVER: int
19-
XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE: int
20-
XML_PARAM_ENTITY_PARSING_ALWAYS: int
18+
XML_PARAM_ENTITY_PARSING_NEVER: Final = 0
19+
XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE: Final = 1
20+
XML_PARAM_ENTITY_PARSING_ALWAYS: Final = 2
2121

2222
_Model: TypeAlias = tuple[int, int, str | None, tuple[Any, ...]]
2323

stdlib/pyexpat/errors.pyi

Lines changed: 45 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,51 @@
11
import sys
2+
from typing import Final
3+
from typing_extensions import LiteralString
24

35
codes: dict[str, int]
46
messages: dict[int, str]
57

6-
XML_ERROR_ABORTED: str
7-
XML_ERROR_ASYNC_ENTITY: str
8-
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF: str
9-
XML_ERROR_BAD_CHAR_REF: str
10-
XML_ERROR_BINARY_ENTITY_REF: str
11-
XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING: str
12-
XML_ERROR_DUPLICATE_ATTRIBUTE: str
13-
XML_ERROR_ENTITY_DECLARED_IN_PE: str
14-
XML_ERROR_EXTERNAL_ENTITY_HANDLING: str
15-
XML_ERROR_FEATURE_REQUIRES_XML_DTD: str
16-
XML_ERROR_FINISHED: str
17-
XML_ERROR_INCOMPLETE_PE: str
18-
XML_ERROR_INCORRECT_ENCODING: str
19-
XML_ERROR_INVALID_TOKEN: str
20-
XML_ERROR_JUNK_AFTER_DOC_ELEMENT: str
21-
XML_ERROR_MISPLACED_XML_PI: str
22-
XML_ERROR_NOT_STANDALONE: str
23-
XML_ERROR_NOT_SUSPENDED: str
24-
XML_ERROR_NO_ELEMENTS: str
25-
XML_ERROR_NO_MEMORY: str
26-
XML_ERROR_PARAM_ENTITY_REF: str
27-
XML_ERROR_PARTIAL_CHAR: str
28-
XML_ERROR_PUBLICID: str
29-
XML_ERROR_RECURSIVE_ENTITY_REF: str
30-
XML_ERROR_SUSPENDED: str
31-
XML_ERROR_SUSPEND_PE: str
32-
XML_ERROR_SYNTAX: str
33-
XML_ERROR_TAG_MISMATCH: str
34-
XML_ERROR_TEXT_DECL: str
35-
XML_ERROR_UNBOUND_PREFIX: str
36-
XML_ERROR_UNCLOSED_CDATA_SECTION: str
37-
XML_ERROR_UNCLOSED_TOKEN: str
38-
XML_ERROR_UNDECLARING_PREFIX: str
39-
XML_ERROR_UNDEFINED_ENTITY: str
40-
XML_ERROR_UNEXPECTED_STATE: str
41-
XML_ERROR_UNKNOWN_ENCODING: str
42-
XML_ERROR_XML_DECL: str
8+
XML_ERROR_ABORTED: Final[LiteralString]
9+
XML_ERROR_ASYNC_ENTITY: Final[LiteralString]
10+
XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF: Final[LiteralString]
11+
XML_ERROR_BAD_CHAR_REF: Final[LiteralString]
12+
XML_ERROR_BINARY_ENTITY_REF: Final[LiteralString]
13+
XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING: Final[LiteralString]
14+
XML_ERROR_DUPLICATE_ATTRIBUTE: Final[LiteralString]
15+
XML_ERROR_ENTITY_DECLARED_IN_PE: Final[LiteralString]
16+
XML_ERROR_EXTERNAL_ENTITY_HANDLING: Final[LiteralString]
17+
XML_ERROR_FEATURE_REQUIRES_XML_DTD: Final[LiteralString]
18+
XML_ERROR_FINISHED: Final[LiteralString]
19+
XML_ERROR_INCOMPLETE_PE: Final[LiteralString]
20+
XML_ERROR_INCORRECT_ENCODING: Final[LiteralString]
21+
XML_ERROR_INVALID_TOKEN: Final[LiteralString]
22+
XML_ERROR_JUNK_AFTER_DOC_ELEMENT: Final[LiteralString]
23+
XML_ERROR_MISPLACED_XML_PI: Final[LiteralString]
24+
XML_ERROR_NOT_STANDALONE: Final[LiteralString]
25+
XML_ERROR_NOT_SUSPENDED: Final[LiteralString]
26+
XML_ERROR_NO_ELEMENTS: Final[LiteralString]
27+
XML_ERROR_NO_MEMORY: Final[LiteralString]
28+
XML_ERROR_PARAM_ENTITY_REF: Final[LiteralString]
29+
XML_ERROR_PARTIAL_CHAR: Final[LiteralString]
30+
XML_ERROR_PUBLICID: Final[LiteralString]
31+
XML_ERROR_RECURSIVE_ENTITY_REF: Final[LiteralString]
32+
XML_ERROR_SUSPENDED: Final[LiteralString]
33+
XML_ERROR_SUSPEND_PE: Final[LiteralString]
34+
XML_ERROR_SYNTAX: Final[LiteralString]
35+
XML_ERROR_TAG_MISMATCH: Final[LiteralString]
36+
XML_ERROR_TEXT_DECL: Final[LiteralString]
37+
XML_ERROR_UNBOUND_PREFIX: Final[LiteralString]
38+
XML_ERROR_UNCLOSED_CDATA_SECTION: Final[LiteralString]
39+
XML_ERROR_UNCLOSED_TOKEN: Final[LiteralString]
40+
XML_ERROR_UNDECLARING_PREFIX: Final[LiteralString]
41+
XML_ERROR_UNDEFINED_ENTITY: Final[LiteralString]
42+
XML_ERROR_UNEXPECTED_STATE: Final[LiteralString]
43+
XML_ERROR_UNKNOWN_ENCODING: Final[LiteralString]
44+
XML_ERROR_XML_DECL: Final[LiteralString]
4345
if sys.version_info >= (3, 11):
44-
XML_ERROR_RESERVED_PREFIX_XML: str
45-
XML_ERROR_RESERVED_PREFIX_XMLNS: str
46-
XML_ERROR_RESERVED_NAMESPACE_URI: str
47-
XML_ERROR_INVALID_ARGUMENT: str
48-
XML_ERROR_NO_BUFFER: str
49-
XML_ERROR_AMPLIFICATION_LIMIT_BREACH: str
46+
XML_ERROR_RESERVED_PREFIX_XML: Final[LiteralString]
47+
XML_ERROR_RESERVED_PREFIX_XMLNS: Final[LiteralString]
48+
XML_ERROR_RESERVED_NAMESPACE_URI: Final[LiteralString]
49+
XML_ERROR_INVALID_ARGUMENT: Final[LiteralString]
50+
XML_ERROR_NO_BUFFER: Final[LiteralString]
51+
XML_ERROR_AMPLIFICATION_LIMIT_BREACH: Final[LiteralString]

stdlib/pyexpat/model.pyi

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
1-
XML_CTYPE_ANY: int
2-
XML_CTYPE_CHOICE: int
3-
XML_CTYPE_EMPTY: int
4-
XML_CTYPE_MIXED: int
5-
XML_CTYPE_NAME: int
6-
XML_CTYPE_SEQ: int
1+
from typing import Final
72

8-
XML_CQUANT_NONE: int
9-
XML_CQUANT_OPT: int
10-
XML_CQUANT_PLUS: int
11-
XML_CQUANT_REP: int
3+
XML_CTYPE_ANY: Final = 2
4+
XML_CTYPE_EMPTY: Final = 1
5+
XML_CTYPE_MIXED: Final = 3
6+
XML_CTYPE_NAME: Final = 4
7+
XML_CTYPE_CHOICE: Final = 5
8+
XML_CTYPE_SEQ: Final = 6
9+
10+
XML_CQUANT_NONE: Final = 0
11+
XML_CQUANT_OPT: Final = 1
12+
XML_CQUANT_REP: Final = 2
13+
XML_CQUANT_PLUS: Final = 3

0 commit comments

Comments
 (0)