From 4379a6a509396a58b85ac9f888c3eec5aac38039 Mon Sep 17 00:00:00 2001 From: Richard Nias <7244202+richardnias@users.noreply.github.com> Date: Fri, 23 Dec 2022 15:24:30 +0100 Subject: [PATCH] Add stubs for untangle (#9402) Co-authored-by: Alex Waygood --- stubs/untangle/METADATA.toml | 4 ++++ stubs/untangle/untangle.pyi | 37 ++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 stubs/untangle/METADATA.toml create mode 100644 stubs/untangle/untangle.pyi diff --git a/stubs/untangle/METADATA.toml b/stubs/untangle/METADATA.toml new file mode 100644 index 000000000..8d199dc3b --- /dev/null +++ b/stubs/untangle/METADATA.toml @@ -0,0 +1,4 @@ +version = "1.2.*" + +[tool.stubtest] +ignore_missing_stub = false diff --git a/stubs/untangle/untangle.pyi b/stubs/untangle/untangle.pyi new file mode 100644 index 000000000..b2d7c960f --- /dev/null +++ b/stubs/untangle/untangle.pyi @@ -0,0 +1,37 @@ +from _typeshed import Self +from collections.abc import Iterator, Mapping +from typing import Any +from xml.sax import handler + +def is_string(x: object) -> bool: ... + +class Element: + children: list[Element] + is_root: bool + cdata: str + def __init__(self, name: str | None, attributes: Mapping[str, Any] | None) -> None: ... + def add_child(self, element: Element) -> None: ... + def add_cdata(self, cdata: str) -> None: ... + def get_attribute(self, key: str) -> Any | None: ... + def get_elements(self, name: str | None = ...) -> list[Element]: ... + def __getitem__(self, key: str) -> Any | None: ... + def __getattr__(self, key: str) -> Element: ... + def __hasattribute__(self, name: str) -> bool: ... + def __iter__(self: Self) -> Iterator[Self]: ... + def __bool__(self) -> bool: ... + __nonzero__ = __bool__ + def __eq__(self, val: object) -> bool: ... + def __dir__(self) -> list[str]: ... + def __len__(self) -> int: ... + def __contains__(self, key: str) -> bool: ... + +class Handler(handler.ContentHandler): + root: Element + elements: list[Element] + def __init__(self) -> None: ... + def startElement(self, name: str, attributes: Mapping[str, Any]) -> None: ... + def endElement(self, name: str) -> None: ... + def characters(self, cdata: str) -> None: ... + +def parse(filename: str, **parser_features: bool) -> Element: ... +def is_url(string: str) -> bool: ...