From: Bob Halley Date: Fri, 12 Jun 2020 13:54:43 +0000 (-0700) Subject: add type info X-Git-Tag: v2.0.0rc1~112^2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=19539173e4398e04b8ee10cec708d7b6ae8eb568;p=thirdparty%2Fdnspython.git add type info --- diff --git a/dns/asyncbackend.pyi b/dns/asyncbackend.pyi new file mode 100644 index 00000000..1ec9d32b --- /dev/null +++ b/dns/asyncbackend.pyi @@ -0,0 +1,13 @@ +# Copyright (C) Dnspython Contributors, see LICENSE for text of ISC license + +class Backend: + ... + +def get_backend(name: str) -> Backend: + ... +def sniff() -> str: + ... +def get_default_backend() -> Backend: + ... +def set_default_backend(name: str) -> Backend: + ... diff --git a/dns/asyncquery.pyi b/dns/asyncquery.pyi new file mode 100644 index 00000000..21ef60dd --- /dev/null +++ b/dns/asyncquery.pyi @@ -0,0 +1,43 @@ +from typing import Optional, Union, Dict, Generator, Any +from . import tsig, rdatatype, rdataclass, name, message, asyncbackend + +# If the ssl import works, then +# +# error: Name 'ssl' already defined (by an import) +# +# is expected and can be ignored. +try: + import ssl +except ImportError: + class ssl: # type: ignore + SSLContext : Dict = {} + +async def udp(q : message.Message, where : str, + timeout : Optional[float] = None, port=53, + source : Optional[str] = None, source_port : Optional[int] = 0, + ignore_unexpected : Optional[bool] = False, + one_rr_per_rrset : Optional[bool] = False, + ignore_trailing : Optional[bool] = False, + sock : Optional[asyncbackend.DatagramSocket] = None, + backend : Optional[asyncbackend.Backend]) -> message.Message: + pass + +async def tcp(q : message.Message, where : str, timeout : float = None, port=53, + af : Optional[int] = None, source : Optional[str] = None, + source_port : Optional[int] = 0, + one_rr_per_rrset : Optional[bool] = False, + ignore_trailing : Optional[bool] = False, + sock : Optional[asyncbackend.StreamSocket] = None, + backend : Optional[asyncbackend.Backend]) -> message.Message: + pass + +async def tls(q : message.Message, where : str, + timeout : Optional[float] = None, port=53, + source : Optional[str] = None, source_port : Optional[int] = 0, + one_rr_per_rrset : Optional[bool] = False, + ignore_trailing : Optional[bool] = False, + sock : Optional[asyncbackend.StreamSocket] = None, + backend : Optional[asyncbackend.Backend], + ssl_context: Optional[ssl.SSLContext] = None, + server_hostname: Optional[str] = None) -> message.Message: + pass diff --git a/dns/asyncresolver.pyi b/dns/asyncresolver.pyi new file mode 100644 index 00000000..92759d29 --- /dev/null +++ b/dns/asyncresolver.pyi @@ -0,0 +1,26 @@ +from typing import Union, Optional, List, Any, Dict +from . import exception, rdataclass, name, rdatatype, asyncbackend + +async def resolve(qname : str, rdtype : Union[int,str] = 0, + rdclass : Union[int,str] = 0, + tcp=False, source=None, raise_on_no_answer=True, + source_port=0, lifetime : Optional[float]=None, + search : Optional[bool]=None, + backend : Optional[asyncbackend.Backend]=None): + ... +async def resolve_address(self, ipaddr: str, + *args: Any, **kwargs: Optional[Dict]): + ... + +class Resolver: + def __init__(self, filename : Optional[str] = '/etc/resolv.conf', + configure : Optional[bool] = True): + self.nameservers : List[str] + async def resolve(self, qname : str, rdtype : Union[int,str] = rdatatype.A, + rdclass : Union[int,str] = rdataclass.IN, + tcp : bool = False, source : Optional[str] = None, + raise_on_no_answer=True, source_port : int = 0, + lifetime : Optional[float]=None, + search : Optional[bool]=None, + backend : Optional[asyncbackend.Backend]=None): + ...