From fe69ffcb0fa95b78c5ce81dc1ff421c9efa40ca3 Mon Sep 17 00:00:00 2001 From: Sebastian Rittau Date: Fri, 18 Sep 2020 17:28:25 +0200 Subject: [PATCH] Add a few missing stdlib modules (#4550) --- stdlib/2and3/_typeshed/xml.pyi | 10 ++++++++++ .../distutils/command/install_egg_info.pyi | 10 ++++++++++ stdlib/2and3/distutils/command/upload.pyi | 8 ++++++++ stdlib/2and3/distutils/config.pyi | 17 +++++++++++++++++ stdlib/2and3/xml/dom/__init__.pyi | 2 ++ stdlib/2and3/xml/dom/domreg.pyi | 10 ++++++++++ stdlib/3/json/tool.pyi | 1 + 7 files changed, 58 insertions(+) create mode 100644 stdlib/2and3/_typeshed/xml.pyi create mode 100644 stdlib/2and3/distutils/command/install_egg_info.pyi create mode 100644 stdlib/2and3/distutils/command/upload.pyi create mode 100644 stdlib/2and3/distutils/config.pyi create mode 100644 stdlib/2and3/xml/dom/domreg.pyi create mode 100644 stdlib/3/json/tool.pyi diff --git a/stdlib/2and3/_typeshed/xml.pyi b/stdlib/2and3/_typeshed/xml.pyi new file mode 100644 index 000000000..7ad28aef1 --- /dev/null +++ b/stdlib/2and3/_typeshed/xml.pyi @@ -0,0 +1,10 @@ +# Stub-only types. This module does not exist at runtime. + +from typing import Any, Optional +from typing_extensions import Protocol + +# As defined https://docs.python.org/3/library/xml.dom.html#domimplementation-objects +class DOMImplementation(Protocol): + def hasFeature(self, feature: str, version: Optional[str]) -> bool: ... + def createDocument(self, namespaceUri: str, qualifiedName: str, doctype: Optional[Any]) -> Any: ... + def createDocumentType(self, qualifiedName: str, publicId: str, systemId: str) -> Any: ... diff --git a/stdlib/2and3/distutils/command/install_egg_info.pyi b/stdlib/2and3/distutils/command/install_egg_info.pyi new file mode 100644 index 000000000..80ffb19bd --- /dev/null +++ b/stdlib/2and3/distutils/command/install_egg_info.pyi @@ -0,0 +1,10 @@ +from distutils.cmd import Command +from typing import ClassVar, List, Optional, Tuple + +class install_egg_info(Command): + description: ClassVar[str] + user_options: ClassVar[List[Tuple[str, Optional[str], str]]] + def initialize_options(self) -> None: ... + def finalize_options(self) -> None: ... + def run(self) -> None: ... + def get_outputs(self) -> List[str]: ... diff --git a/stdlib/2and3/distutils/command/upload.pyi b/stdlib/2and3/distutils/command/upload.pyi new file mode 100644 index 000000000..c49a4e5b4 --- /dev/null +++ b/stdlib/2and3/distutils/command/upload.pyi @@ -0,0 +1,8 @@ +from distutils.config import PyPIRCCommand +from typing import ClassVar, List, Optional, Tuple + +class upload(PyPIRCCommand): + description: ClassVar[str] + boolean_options: ClassVar[List[str]] + def run(self) -> None: ... + def upload_file(self, command, pyversion, filename) -> None: ... diff --git a/stdlib/2and3/distutils/config.pyi b/stdlib/2and3/distutils/config.pyi new file mode 100644 index 000000000..e60507e0b --- /dev/null +++ b/stdlib/2and3/distutils/config.pyi @@ -0,0 +1,17 @@ +from abc import abstractmethod +from distutils.cmd import Command +from typing import ClassVar, List, Optional, Tuple + +DEFAULT_PYPIRC: str + +class PyPIRCCommand(Command): + DEFAULT_REPOSITORY: ClassVar[str] + DEFAULT_REALM: ClassVar[str] + repository: None + realm: None + user_options: ClassVar[List[Tuple[str, Optional[str], str]]] + boolean_options: ClassVar[List[str]] + def initialize_options(self) -> None: ... + def finalize_options(self) -> None: ... + @abstractmethod + def run(self) -> None: ... diff --git a/stdlib/2and3/xml/dom/__init__.pyi b/stdlib/2and3/xml/dom/__init__.pyi index 0fbc0a0af..c5766c326 100644 --- a/stdlib/2and3/xml/dom/__init__.pyi +++ b/stdlib/2and3/xml/dom/__init__.pyi @@ -1,5 +1,7 @@ from typing import Any +from .domreg import getDOMImplementation as getDOMImplementation, registerDOMImplementation as registerDOMImplementation + class Node: ELEMENT_NODE: int ATTRIBUTE_NODE: int diff --git a/stdlib/2and3/xml/dom/domreg.pyi b/stdlib/2and3/xml/dom/domreg.pyi new file mode 100644 index 000000000..6f479b097 --- /dev/null +++ b/stdlib/2and3/xml/dom/domreg.pyi @@ -0,0 +1,10 @@ +from _typeshed.xml import DOMImplementation +from typing import Any, Callable, Dict, Iterable, Optional, Tuple, Union + +well_known_implementations: Dict[str, str] +registered: Dict[str, Callable[[], DOMImplementation]] + +def registerDOMImplementation(name: str, factory: Callable[[], DOMImplementation]) -> None: ... +def getDOMImplementation( + name: Optional[str] = ..., features: Union[str, Iterable[Tuple[str, Optional[str]]]] = ... +) -> DOMImplementation: ... diff --git a/stdlib/3/json/tool.pyi b/stdlib/3/json/tool.pyi new file mode 100644 index 000000000..7e7363e79 --- /dev/null +++ b/stdlib/3/json/tool.pyi @@ -0,0 +1 @@ +def main() -> None: ...