Skip to content

Commit e035329

Browse files
docutils: Improve incomplete stubs
1 parent 1eb9a2b commit e035329

File tree

8 files changed

+93
-3
lines changed

8 files changed

+93
-3
lines changed

stubs/docutils/@tests/stubtest_allowlist.txt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,13 @@ docutils.io.FileOutput.__getattr__
66
docutils.io.FileOutput.__init__
77
docutils.io.Input.__getattr__
88
docutils.io.Input.__init__
9+
docutils.languages.LanguageImporter.__getattr__
10+
docutils.nodes.Element.__getattr__
11+
docutils.nodes.Node.__getattr__
12+
docutils.nodes.document.__getattr__
13+
docutils.nodes.document.__init__
914
docutils.parsers.rst.Directive.__getattr__
15+
docutils.transforms.Transform.__getattr__
16+
docutils.transforms.Transformer.__getattr__
17+
docutils.utils.Reporter.__getattr__
18+
docutils.utils.Reporter.__init__
Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
11
from typing import Any
22

3-
def __getattr__(name: str) -> Any: ... # incomplete
3+
from docutils.utils import Reporter
4+
5+
class _LanguageModule:
6+
labels: dict[str, str]
7+
author_separators: list[str]
8+
bibliographic_fields: list[str]
9+
10+
class LanguageImporter:
11+
def __call__(self, language_code: str, reporter: Reporter | None = ...) -> _LanguageModule: ...
12+
def __getattr__(self, __name: str) -> Any: ... # incomplete
13+
14+
get_language: LanguageImporter

stubs/docutils/docutils/nodes.pyi

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,23 @@
11
from typing import Any
22

3+
from docutils.transforms import Transformer
4+
5+
class Node:
6+
parent: Node | None
7+
source: str | None
8+
line: int | None
9+
document: document | None
10+
def __getattr__(self, __name: str) -> Any: ... # incomplete
11+
12+
class Element(Node):
13+
def __init__(self, rawsource: str = ..., *children: Node, **attributes): ...
14+
def __getattr__(self, __name: str) -> Any: ... # incomplete
15+
16+
class Structural: ...
17+
class Root: ...
18+
19+
class document(Root, Structural, Element):
20+
transformer: Transformer
21+
def __getattr__(self, __name: str) -> Any: ... # incomplete
22+
323
def __getattr__(name: str) -> Any: ... # incomplete

stubs/docutils/docutils/parsers/__init__.pyi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
11
from typing import Any, ClassVar
22

33
from docutils import Component
4+
from docutils.nodes import document
45

56
class Parser(Component):
67
component_type: ClassVar[str]
78
config_section: ClassVar[str]
89
inputstring: Any # defined after call to setup_parse()
910
document: Any # defined after call to setup_parse()
10-
def parse(self, inputstring: str, document) -> None: ...
11-
def setup_parse(self, inputstring: str, document) -> None: ...
11+
def parse(self, inputstring: str, document: document) -> None: ...
12+
def setup_parse(self, inputstring: str, document: document) -> None: ...
1213
def finish_parse(self) -> None: ...
1314

1415
_parser_aliases: dict[str, str]
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
11
from typing import Any
22

3+
from docutils.languages import _LanguageModule
4+
from docutils.nodes import document
5+
from docutils.parsers.rst import Directive
6+
from docutils.utils import SystemMessage
7+
8+
def register_directive(name: str, directive: type[Directive]) -> None: ...
9+
def directive(
10+
directive_name: str, language_module: _LanguageModule, document: document
11+
) -> tuple[type[Directive], list[SystemMessage]]: ...
312
def __getattr__(name: str) -> Any: ... # incomplete

stubs/docutils/docutils/parsers/rst/roles.pyi

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,16 @@ from typing import Any, Callable
22

33
import docutils.nodes
44
import docutils.parsers.rst.states
5+
from docutils.languages import _LanguageModule
6+
from docutils.utils import Reporter, SystemMessage
57

68
_RoleFn = Callable[
79
[str, str, str, int, docutils.parsers.rst.states.Inliner, dict[str, Any], list[str]],
810
tuple[list[docutils.nodes.reference], list[docutils.nodes.reference]],
911
]
1012

1113
def register_local_role(name: str, role_fn: _RoleFn) -> None: ...
14+
def role(
15+
role_name: str, language_module: _LanguageModule, lineno: int, reporter: Reporter
16+
) -> tuple[_RoleFn | None, list[SystemMessage]]: ...
1217
def __getattr__(name: str) -> Any: ... # incomplete
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
11
from typing import Any
22

3+
from docutils.nodes import Node, document
4+
5+
class Transform:
6+
def __init__(self, document: document, startnode: Node | None = ...): ...
7+
def __getattr__(self, __name: str) -> Any: ... # incomplete
8+
9+
class Transformer:
10+
def __init__(self, document: document): ...
11+
def add_transform(self, transform_class: type[Transform], priority: int | None = ..., **kwargs) -> None: ...
12+
def __getattr__(self, __name: str) -> Any: ... # incomplete
13+
314
def __getattr__(name: str) -> Any: ... # incomplete

stubs/docutils/docutils/utils/__init__.pyi

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1+
import optparse
12
from collections.abc import Iterable
23
from typing import Any
4+
from typing_extensions import Literal
35

6+
from docutils import ApplicationError
47
from docutils.io import FileOutput
8+
from docutils.nodes import document
59

610
_list = list
711

@@ -13,4 +17,24 @@ class DependencyList:
1317
def add(self, *filenames: str) -> None: ...
1418
def close(self) -> None: ...
1519

20+
_SystemMessageLevel = Literal[0, 1, 2, 3, 4]
21+
22+
class Reporter:
23+
DEBUG_LEVEL: Literal[0]
24+
INFO_LEVEL: Literal[1]
25+
WARNING_LEVEL: Literal[2]
26+
ERROR_LEVEL: Literal[3]
27+
SEVERE_LEVEL: Literal[4]
28+
29+
source: str
30+
report_level: _SystemMessageLevel
31+
halt_level: _SystemMessageLevel
32+
def __getattr__(self, __name: str) -> Any: ... # incomplete
33+
34+
class SystemMessage(ApplicationError):
35+
level: _SystemMessageLevel
36+
def __init__(self, system_message: object, level: _SystemMessageLevel): ...
37+
38+
def new_reporter(source_path: str, settings: optparse.Values) -> Reporter: ...
39+
def new_document(source_path: str, settings: optparse.Values | None = ...) -> document: ...
1640
def __getattr__(name: str) -> Any: ... # incomplete

0 commit comments

Comments
 (0)