From 70eff8636133a7c3c01b7d19a5e83869a67ed9a5 Mon Sep 17 00:00:00 2001 From: Daniel Eades Date: Sat, 9 Mar 2024 21:12:42 +0000 Subject: [PATCH 1/6] improve type annotations in 'docutils.core' --- stubs/docutils/docutils/core.pyi | 214 ++++++++++++++++++++++++++++++- 1 file changed, 212 insertions(+), 2 deletions(-) diff --git a/stubs/docutils/docutils/core.pyi b/stubs/docutils/docutils/core.pyi index 0f6820f054ea..29ad57ed139a 100644 --- a/stubs/docutils/docutils/core.pyi +++ b/stubs/docutils/docutils/core.pyi @@ -1,3 +1,213 @@ -from _typeshed import Incomplete +from typing import IO, Any, Generic, TypeVar -def __getattr__(name: str) -> Incomplete: ... +from docutils import SettingsSpec, io, nodes +from docutils.frontend import OptionParser, Values +from docutils.io import Input, Output +from docutils.parsers import Parser +from docutils.readers import Reader +from docutils.writers import Writer + +__docformat__: str + +_S = TypeVar("_S") + +class Publisher(Generic[_S]): + document: nodes.document | None + reader: Reader[_S] | None + parser: Parser | None + writer: Writer | None + source: Input[_S] | None + source_class: type[Input[_S]] + destination: Output | None + destination_class: type[Output] + settings: Values | None + def __init__( + self, + reader: Reader[_S] | None = None, + parser: Parser | None = None, + writer: Writer | None = None, + source: Input[_S] | None = None, + source_class: type[Input[_S]] = io.FileInput, + destination: Output | None = None, + destination_class: type[Output] = io.FileOutput, + settings: Values | None = None, + ) -> None: ... + def set_reader(self, reader_name: str, parser: Parser, parser_name: str) -> None: ... + def set_writer(self, writer_name: str) -> None: ... + def set_components(self, reader_name: str, parser_name: str, writer_name: str) -> None: ... + def setup_option_parser( + self, + usage: Any | None = None, + description: Any | None = None, + settings_spec: SettingsSpec | None = None, + config_section: str | None = None, + **defaults, + ) -> OptionParser: ... + def get_settings( + self, + usage: Any | None = None, + description: Any | None = None, + settings_spec: SettingsSpec | None = None, + config_section: str | None = None, + **defaults, + ) -> Values: ... + def process_programmatic_settings(self, settings_spec: SettingsSpec, settings_overrides, config_section: str) -> None: ... + def process_command_line( + self, + argv: list[str] | None = None, + usage: Any | None = None, + description: Any | None = None, + settings_spec: SettingsSpec | None = None, + config_section: str | None = None, + **defaults, + ) -> None: ... + def set_io(self, source_path: str | None = None, destination_path: str | None = None) -> None: ... + def set_source(self, source: Any | None = None, source_path: str | None = None) -> None: ... + def set_destination(self, destination: Any | None = None, destination_path: str | None = None) -> None: ... + def apply_transforms(self) -> None: ... + def publish( + self, + argv: list[str] | None = None, + usage: Any | None = None, + description: Any | None = None, + settings_spec: SettingsSpec | None = None, + settings_overrides: Any | None = None, + config_section: str | None = None, + enable_exit_status: bool = False, + ) -> Any: ... + def debugging_dumps(self) -> None: ... + def report_Exception(self, error: Exception) -> None: ... + def report_SystemMessage(self, error: Exception) -> None: ... + def report_UnicodeError(self, error: Exception) -> None: ... + +default_usage: str +default_description: str + +def publish_cmdline( + reader: Reader[_S] | None = None, + reader_name: str = "standalone", + parser: Parser | None = None, + parser_name: str = "restructuredtext", + writer: Writer | None = None, + writer_name: str = "pseudoxml", + settings: Values | None = None, + settings_spec: SettingsSpec | None = None, + settings_overrides: Any | None = None, + config_section: str | None = None, + enable_exit_status: bool = True, + argv: list[str] | None = None, + usage: str = default_usage, + description: str = default_description, +) -> Any: ... +def publish_file( + source: IO[str] | None = None, + source_path: str | None = None, + destination: Output | None = None, + destination_path: str | None = None, + reader: Reader[_S] | None = None, + reader_name: str = "standalone", + parser: Parser | None = None, + parser_name: str = "restructuredtext", + writer: Writer | None = None, + writer_name: str = "pseudoxml", + settings: Values | None = None, + settings_spec: SettingsSpec | None = None, + settings_overrides: Any | None = None, + config_section: str | None = None, + enable_exit_status: bool = False, +) -> Any: ... +def publish_string( + source: str, + source_path: str | None = None, + destination_path: str | None = None, + reader: Reader[_S] | None = None, + reader_name: str = "standalone", + parser: Parser | None = None, + parser_name: str = "restructuredtext", + writer: Writer | None = None, + writer_name: str = "pseudoxml", + settings: Values | None = None, + settings_spec: SettingsSpec | None = None, + settings_overrides: Any | None = None, + config_section: str | None = None, + enable_exit_status: bool = False, +) -> Any: ... +def publish_parts( + source: Any, + source_path: str | None = None, + source_class: type[Input[_S]] = io.StringInput, + destination_path: str | None = None, + reader: Reader[_S] | None = None, + reader_name: str = "standalone", + parser: Parser | None = None, + parser_name: str = "restructuredtext", + writer: Writer | None = None, + writer_name: str = "pseudoxml", + settings: Values | None = None, + settings_spec: SettingsSpec | None = None, + settings_overrides: Any | None = None, + config_section: str | None = None, + enable_exit_status: bool = False, +) -> dict[str, Any]: ... +def publish_doctree( + source: Any, + source_path: str | None = None, + source_class: type[Input[_S]] = io.StringInput, + reader: Reader[_S] | None = None, + reader_name: str = "standalone", + parser: Parser | None = None, + parser_name: str = "restructuredtext", + settings: Values | None = None, + settings_spec: SettingsSpec | None = None, + settings_overrides: Any | None = None, + config_section: str | None = None, + enable_exit_status: bool = False, +) -> nodes.document: ... +def publish_from_doctree( + document: nodes.document, + destination_path: str | None = None, + writer: Writer | None = None, + writer_name: str = "pseudoxml", + settings: Values | None = None, + settings_spec: SettingsSpec | None = None, + settings_overrides: Any | None = None, + config_section: str | None = None, + enable_exit_status: bool = False, +) -> Any: ... +def publish_cmdline_to_binary( + reader=None, + reader_name="standalone", + parser=None, + parser_name="restructuredtext", + writer=None, + writer_name="pseudoxml", + settings: Values | None = None, + settings_spec: SettingsSpec | None = None, + settings_overrides: Any | None = None, + config_section: str | None = None, + enable_exit_status: bool = True, + argv: list[str] | None = None, + usage: str = default_usage, + description: str = default_description, + destination: Output | None = None, + destination_class: type[Output] = io.BinaryFileOutput, +) -> Any: ... +def publish_programmatically( + source_class: type[Input[_S]], + source: Any, + source_path: str, + destination_class: type[Output], + destination: Any, + destination_path: str, + reader: Reader[_S], + reader_name: str, + parser: Parser, + parser_name: str, + writer: Writer, + writer_name: str, + settings: Values, + settings_spec: SettingsSpec, + settings_overrides: Any, + config_section: str, + enable_exit_status: bool, +) -> tuple[Any, Publisher[_S]]: ... From bdc885762e365b169f73ad771121b1866a35983e Mon Sep 17 00:00:00 2001 From: "daniel.eades" Date: Tue, 12 Mar 2024 07:03:00 +0000 Subject: [PATCH 2/6] fixup --- stubs/docutils/docutils/core.pyi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/stubs/docutils/docutils/core.pyi b/stubs/docutils/docutils/core.pyi index 29ad57ed139a..aa7085fda861 100644 --- a/stubs/docutils/docutils/core.pyi +++ b/stubs/docutils/docutils/core.pyi @@ -1,7 +1,8 @@ +from optparse import Values from typing import IO, Any, Generic, TypeVar from docutils import SettingsSpec, io, nodes -from docutils.frontend import OptionParser, Values +from docutils.frontend import OptionParser from docutils.io import Input, Output from docutils.parsers import Parser from docutils.readers import Reader From 7b14ccafa205d15695010ed5de1fffafabf271f8 Mon Sep 17 00:00:00 2001 From: danieleades <33452915+danieleades@users.noreply.github.com> Date: Thu, 14 Mar 2024 14:49:53 +0000 Subject: [PATCH 3/6] Update stubs/docutils/docutils/core.pyi Co-authored-by: Sebastian Rittau --- stubs/docutils/docutils/core.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stubs/docutils/docutils/core.pyi b/stubs/docutils/docutils/core.pyi index aa7085fda861..a9d887fdfdd7 100644 --- a/stubs/docutils/docutils/core.pyi +++ b/stubs/docutils/docutils/core.pyi @@ -38,8 +38,8 @@ class Publisher(Generic[_S]): def set_components(self, reader_name: str, parser_name: str, writer_name: str) -> None: ... def setup_option_parser( self, - usage: Any | None = None, - description: Any | None = None, + usage: str | None = None, + description: str | None = None, settings_spec: SettingsSpec | None = None, config_section: str | None = None, **defaults, From 753e1fb58bc2ea73695d7f6474d82e1b69240908 Mon Sep 17 00:00:00 2001 From: danieleades <33452915+danieleades@users.noreply.github.com> Date: Thu, 14 Mar 2024 14:50:00 +0000 Subject: [PATCH 4/6] Update stubs/docutils/docutils/core.pyi Co-authored-by: Sebastian Rittau --- stubs/docutils/docutils/core.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stubs/docutils/docutils/core.pyi b/stubs/docutils/docutils/core.pyi index a9d887fdfdd7..53d3480659d1 100644 --- a/stubs/docutils/docutils/core.pyi +++ b/stubs/docutils/docutils/core.pyi @@ -46,8 +46,8 @@ class Publisher(Generic[_S]): ) -> OptionParser: ... def get_settings( self, - usage: Any | None = None, - description: Any | None = None, + usage: str | None = None, + description: str | None = None, settings_spec: SettingsSpec | None = None, config_section: str | None = None, **defaults, From 5890dec7f4e46f39317a23cfef051b1f001fbc0b Mon Sep 17 00:00:00 2001 From: danieleades <33452915+danieleades@users.noreply.github.com> Date: Thu, 14 Mar 2024 14:50:07 +0000 Subject: [PATCH 5/6] Update stubs/docutils/docutils/core.pyi Co-authored-by: Sebastian Rittau --- stubs/docutils/docutils/core.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stubs/docutils/docutils/core.pyi b/stubs/docutils/docutils/core.pyi index 53d3480659d1..739337e21b93 100644 --- a/stubs/docutils/docutils/core.pyi +++ b/stubs/docutils/docutils/core.pyi @@ -56,8 +56,8 @@ class Publisher(Generic[_S]): def process_command_line( self, argv: list[str] | None = None, - usage: Any | None = None, - description: Any | None = None, + usage: str | None = None, + description: str | None = None, settings_spec: SettingsSpec | None = None, config_section: str | None = None, **defaults, From 2c781fa88397bbce1c28f20bf63d401f48ff0abd Mon Sep 17 00:00:00 2001 From: danieleades <33452915+danieleades@users.noreply.github.com> Date: Thu, 14 Mar 2024 14:50:13 +0000 Subject: [PATCH 6/6] Update stubs/docutils/docutils/core.pyi Co-authored-by: Sebastian Rittau --- stubs/docutils/docutils/core.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stubs/docutils/docutils/core.pyi b/stubs/docutils/docutils/core.pyi index 739337e21b93..906f7b405c71 100644 --- a/stubs/docutils/docutils/core.pyi +++ b/stubs/docutils/docutils/core.pyi @@ -69,8 +69,8 @@ class Publisher(Generic[_S]): def publish( self, argv: list[str] | None = None, - usage: Any | None = None, - description: Any | None = None, + usage: str | None = None, + description: str | None = None, settings_spec: SettingsSpec | None = None, settings_overrides: Any | None = None, config_section: str | None = None,