Skip to content

Commit 8228faa

Browse files
danieleadesdaniel.eadesJelleZijlstrajayaddison
authored
add type annotations to docutils.writers (#12420)
Co-authored-by: daniel.eades <[email protected]> Co-authored-by: Jelle Zijlstra <[email protected]> Co-authored-by: James Addison <[email protected]>
1 parent 26b3c69 commit 8228faa

File tree

4 files changed

+27
-7
lines changed

4 files changed

+27
-7
lines changed

stubs/docutils/docutils/__init__.pyi

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
from typing import Any, ClassVar, NamedTuple
22
from typing_extensions import Self
33

4+
from docutils.transforms import Transform
5+
46
__docformat__: str
57
__version__: str
68

@@ -32,7 +34,7 @@ class SettingsSpec:
3234
config_section_dependencies: ClassVar[tuple[str, ...] | None]
3335

3436
class TransformSpec:
35-
def get_transforms(self) -> list[Any]: ...
37+
def get_transforms(self) -> list[type[Transform]]: ...
3638
default_transforms: ClassVar[tuple[Any, ...]]
3739
unknown_reference_resolvers: ClassVar[list[Any]]
3840

stubs/docutils/docutils/frontend.pyi

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ from collections.abc import Iterable, Mapping
44
from configparser import RawConfigParser
55
from typing import Any, ClassVar
66

7-
from docutils import SettingsSpec
8-
from docutils.parsers import Parser
7+
from docutils import Component, SettingsSpec
98
from docutils.utils import DependencyList
109

1110
__docformat__: str
@@ -113,7 +112,7 @@ class OptionParser(optparse.OptionParser, SettingsSpec):
113112
version_template: ClassVar[str]
114113
def __init__(
115114
self,
116-
components: Iterable[type[Parser]] = (),
115+
components: Iterable[Component] = (),
117116
defaults: Mapping[str, Any] | None = None,
118117
read_config_files: bool | None = False,
119118
*args,

stubs/docutils/docutils/readers/doctree.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ from typing import TypeVar
22

33
from docutils import readers
44

5-
_S = TypeVar("_S")
5+
_S = TypeVar("_S", bound=str | bytes)
66

77
class Reader(readers.ReReader[_S]): ...
Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1-
from _typeshed import Incomplete
1+
from typing import Any, Generic, TypeVar
22

3-
def __getattr__(name: str) -> Incomplete: ...
3+
from docutils import Component, nodes
4+
from docutils.io import Output
5+
from docutils.languages import LanguageImporter
6+
7+
_S = TypeVar("_S")
8+
9+
class Writer(Component, Generic[_S]):
10+
parts: dict[str, Any]
11+
language: LanguageImporter | None = None
12+
def __init__(self) -> None: ...
13+
document: nodes.document | None = None
14+
destination: Output | None = None
15+
output: _S | None = None
16+
def assemble_parts(self) -> None: ...
17+
def translate(self) -> None: ...
18+
def write(self, document: nodes.document, destination: Output) -> str | bytes | None: ...
19+
20+
class UnfilteredWriter(Writer[_S]): ...
21+
22+
def get_writer_class(writer_name: str) -> type[Writer[Any]]: ...

0 commit comments

Comments
 (0)