From d12ea03f2be7240db52a4e1ef49fc6a5d51d9135 Mon Sep 17 00:00:00 2001 From: Bob Halley Date: Tue, 19 May 2020 06:03:43 -0700 Subject: add basic typo info for trio modules --- dns/trio/query.pyi | 30 ++++++++++++++++++++++++++++++ dns/trio/resolver.pyi | 26 ++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 dns/trio/query.pyi create mode 100644 dns/trio/resolver.pyi diff --git a/dns/trio/query.pyi b/dns/trio/query.pyi new file mode 100644 index 0000000..016298c --- /dev/null +++ b/dns/trio/query.pyi @@ -0,0 +1,30 @@ +!from typing import Optional, Union, Dict, Generator, Any +from . import tsig, rdatatype, rdataclass, name, message +from requests.sessions import Session + +# 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(object): # type: ignore + SSLContext : Dict = {} + +def udp(q : message.Message, where : str, 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) -> message.Message: + ... + +def stream(q : message.Message, where : str, tls : Optional[bool] = False, + port=53, source : Optional[str] = None, + source_port : Optional[int] = 0, + one_rr_per_rrset : Optional[bool] = False, + ignore_trailing : Optional[bool] = False, + ssl_context: Optional[ssl.SSLContext] = None, + server_hostname: Optional[str] = None) -> message.Message: + ... diff --git a/dns/trio/resolver.pyi b/dns/trio/resolver.pyi new file mode 100644 index 0000000..d84419b --- /dev/null +++ b/dns/trio/resolver.pyi @@ -0,0 +1,26 @@ +from typing import Union, Optional, List, Any, Dict +from .. import exception, rdataclass, name, rdatatype + +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, search : Optional[bool]=None): + ... + +def resolve_address(self, ipaddr: str, *args: Any, **kwargs: Optional[Dict]): + ... + +def zone_for_name(name, rdclass : int = rdataclass.IN, tcp=False, + resolver : Optional[Resolver] = None): + ... + +class Resolver: + def __init__(self, filename : Optional[str] = '/etc/resolv.conf', + configure : Optional[bool] = True): + self.nameservers : List[str] + 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, + search : Optional[bool]=None): + ... -- cgit v1.2.1