massive update, probably broken
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-pyright / node_modules / pyright / dist / typeshed-fallback / stdlib / xmlrpc / server.pyi
diff --git a/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stdlib/xmlrpc/server.pyi b/.config/coc/extensions/node_modules/coc-pyright/node_modules/pyright/dist/typeshed-fallback/stdlib/xmlrpc/server.pyi
new file mode 100644 (file)
index 0000000..bf5611f
--- /dev/null
@@ -0,0 +1,153 @@
+import http.server
+import pydoc
+import socketserver
+import sys
+from datetime import datetime
+from typing import Any, Callable, Dict, Iterable, List, Mapping, Pattern, Protocol, Tuple, Type, Union
+from xmlrpc.client import Fault
+
+# TODO: Recursive type on tuple, list, dict
+_Marshallable = Union[None, bool, int, float, str, bytes, Tuple[Any, ...], List[Any], Dict[Any, Any], datetime]
+
+# The dispatch accepts anywhere from 0 to N arguments, no easy way to allow this in mypy
+class _DispatchArity0(Protocol):
+    def __call__(self) -> _Marshallable: ...
+
+class _DispatchArity1(Protocol):
+    def __call__(self, __arg1: _Marshallable) -> _Marshallable: ...
+
+class _DispatchArity2(Protocol):
+    def __call__(self, __arg1: _Marshallable, __arg2: _Marshallable) -> _Marshallable: ...
+
+class _DispatchArity3(Protocol):
+    def __call__(self, __arg1: _Marshallable, __arg2: _Marshallable, __arg3: _Marshallable) -> _Marshallable: ...
+
+class _DispatchArity4(Protocol):
+    def __call__(
+        self, __arg1: _Marshallable, __arg2: _Marshallable, __arg3: _Marshallable, __arg4: _Marshallable
+    ) -> _Marshallable: ...
+
+class _DispatchArityN(Protocol):
+    def __call__(self, *args: _Marshallable) -> _Marshallable: ...
+
+_DispatchProtocol = Union[_DispatchArity0, _DispatchArity1, _DispatchArity2, _DispatchArity3, _DispatchArity4, _DispatchArityN]
+
+def resolve_dotted_attribute(obj: Any, attr: str, allow_dotted_names: bool = ...) -> Any: ...  # undocumented
+def list_public_methods(obj: Any) -> list[str]: ...  # undocumented
+
+class SimpleXMLRPCDispatcher:  # undocumented
+
+    funcs: dict[str, _DispatchProtocol]
+    instance: Any | None
+    allow_none: bool
+    encoding: str
+    use_builtin_types: bool
+    def __init__(self, allow_none: bool = ..., encoding: str | None = ..., use_builtin_types: bool = ...) -> None: ...
+    def register_instance(self, instance: Any, allow_dotted_names: bool = ...) -> None: ...
+    if sys.version_info >= (3, 7):
+        def register_function(self, function: _DispatchProtocol | None = ..., name: str | None = ...) -> Callable[..., Any]: ...
+    else:
+        def register_function(self, function: _DispatchProtocol, name: str | None = ...) -> Callable[..., Any]: ...
+    def register_introspection_functions(self) -> None: ...
+    def register_multicall_functions(self) -> None: ...
+    def _marshaled_dispatch(
+        self,
+        data: str,
+        dispatch_method: Callable[[str | None, Tuple[_Marshallable, ...]], Fault | Tuple[_Marshallable, ...]] | None = ...,
+        path: Any | None = ...,
+    ) -> str: ...  # undocumented
+    def system_listMethods(self) -> list[str]: ...  # undocumented
+    def system_methodSignature(self, method_name: str) -> str: ...  # undocumented
+    def system_methodHelp(self, method_name: str) -> str: ...  # undocumented
+    def system_multicall(self, call_list: list[dict[str, _Marshallable]]) -> list[_Marshallable]: ...  # undocumented
+    def _dispatch(self, method: str, params: Iterable[_Marshallable]) -> _Marshallable: ...  # undocumented
+
+class SimpleXMLRPCRequestHandler(http.server.BaseHTTPRequestHandler):
+
+    rpc_paths: tuple[str, str]
+    encode_threshold: int  # undocumented
+    aepattern: Pattern[str]  # undocumented
+    def accept_encodings(self) -> dict[str, float]: ...
+    def is_rpc_path_valid(self) -> bool: ...
+    def do_POST(self) -> None: ...
+    def decode_request_content(self, data: bytes) -> bytes | None: ...
+    def report_404(self) -> None: ...
+    def log_request(self, code: int | str = ..., size: int | str = ...) -> None: ...
+
+class SimpleXMLRPCServer(socketserver.TCPServer, SimpleXMLRPCDispatcher):
+
+    allow_reuse_address: bool
+    _send_traceback_handler: bool
+    def __init__(
+        self,
+        addr: tuple[str, int],
+        requestHandler: Type[SimpleXMLRPCRequestHandler] = ...,
+        logRequests: bool = ...,
+        allow_none: bool = ...,
+        encoding: str | None = ...,
+        bind_and_activate: bool = ...,
+        use_builtin_types: bool = ...,
+    ) -> None: ...
+
+class MultiPathXMLRPCServer(SimpleXMLRPCServer):  # undocumented
+
+    dispatchers: dict[str, SimpleXMLRPCDispatcher]
+    allow_none: bool
+    encoding: str
+    def __init__(
+        self,
+        addr: tuple[str, int],
+        requestHandler: Type[SimpleXMLRPCRequestHandler] = ...,
+        logRequests: bool = ...,
+        allow_none: bool = ...,
+        encoding: str | None = ...,
+        bind_and_activate: bool = ...,
+        use_builtin_types: bool = ...,
+    ) -> None: ...
+    def add_dispatcher(self, path: str, dispatcher: SimpleXMLRPCDispatcher) -> SimpleXMLRPCDispatcher: ...
+    def get_dispatcher(self, path: str) -> SimpleXMLRPCDispatcher: ...
+    def _marshaled_dispatch(
+        self,
+        data: str,
+        dispatch_method: Callable[[str | None, Tuple[_Marshallable, ...]], Fault | Tuple[_Marshallable, ...]] | None = ...,
+        path: Any | None = ...,
+    ) -> str: ...
+
+class CGIXMLRPCRequestHandler(SimpleXMLRPCDispatcher):
+    def __init__(self, allow_none: bool = ..., encoding: str | None = ..., use_builtin_types: bool = ...) -> None: ...
+    def handle_xmlrpc(self, request_text: str) -> None: ...
+    def handle_get(self) -> None: ...
+    def handle_request(self, request_text: str | None = ...) -> None: ...
+
+class ServerHTMLDoc(pydoc.HTMLDoc):  # undocumented
+    def docroutine(self, object: object, name: str, mod: str | None = ..., funcs: Mapping[str, str] = ..., classes: Mapping[str, str] = ..., methods: Mapping[str, str] = ..., cl: type | None = ...) -> str: ...  # type: ignore
+    def docserver(self, server_name: str, package_documentation: str, methods: dict[str, str]) -> str: ...
+
+class XMLRPCDocGenerator:  # undocumented
+
+    server_name: str
+    server_documentation: str
+    server_title: str
+    def __init__(self) -> None: ...
+    def set_server_title(self, server_title: str) -> None: ...
+    def set_server_name(self, server_name: str) -> None: ...
+    def set_server_documentation(self, server_documentation: str) -> None: ...
+    def generate_html_documentation(self) -> str: ...
+
+class DocXMLRPCRequestHandler(SimpleXMLRPCRequestHandler):
+    def do_GET(self) -> None: ...
+
+class DocXMLRPCServer(SimpleXMLRPCServer, XMLRPCDocGenerator):
+    def __init__(
+        self,
+        addr: tuple[str, int],
+        requestHandler: Type[SimpleXMLRPCRequestHandler] = ...,
+        logRequests: bool = ...,
+        allow_none: bool = ...,
+        encoding: str | None = ...,
+        bind_and_activate: bool = ...,
+        use_builtin_types: bool = ...,
+    ) -> None: ...
+
+class DocCGIXMLRPCRequestHandler(CGIXMLRPCRequestHandler, XMLRPCDocGenerator):
+    def __init__(self) -> None: ...