Package dns :: Module rdatatype
[hide private]
[frames] | no frames]

Module rdatatype

source code

DNS Rdata Types.

Classes [hide private]
  UnknownRdatatype
DNS resource record type is unknown.
Functions [hide private]
 
from_text(text)
Convert text into a DNS rdata type value.
source code
 
to_text(value)
Convert a DNS rdata type value to text.
source code
 
is_metatype(rdtype)
True if the specified type is a metatype.
source code
 
is_singleton(rdtype)
Is the specified type a singleton type?
source code
 
register_type(rdtype, rdtype_text, is_singleton=False)
Dynamically register an rdatatype.
source code
Variables [hide private]
  NONE = 0
  A = 1
  NS = 2
  MD = 3
  MF = 4
  CNAME = 5
  SOA = 6
  MB = 7
  MG = 8
  MR = 9
  NULL = 10
  WKS = 11
  PTR = 12
  HINFO = 13
  MINFO = 14
  MX = 15
  TXT = 16
  RP = 17
  AFSDB = 18
  X25 = 19
  ISDN = 20
  RT = 21
  NSAP = 22
  NSAP_PTR = 23
  SIG = 24
  KEY = 25
  PX = 26
  GPOS = 27
  AAAA = 28
  LOC = 29
  NXT = 30
  SRV = 33
  NAPTR = 35
  KX = 36
  CERT = 37
  A6 = 38
  DNAME = 39
  OPT = 41
  APL = 42
  DS = 43
  SSHFP = 44
  IPSECKEY = 45
  RRSIG = 46
  NSEC = 47
  DNSKEY = 48
  DHCID = 49
  NSEC3 = 50
  NSEC3PARAM = 51
  TLSA = 52
  HIP = 55
  CDS = 59
  CDNSKEY = 60
  OPENPGPKEY = 61
  CSYNC = 62
  SPF = 99
  UNSPEC = 103
  EUI48 = 108
  EUI64 = 109
  TKEY = 249
  TSIG = 250
  IXFR = 251
  AXFR = 252
  MAILB = 253
  MAILA = 254
  ANY = 255
  URI = 256
  CAA = 257
  AVC = 258
  TA = 32768
  DLV = 32769
  _by_text = {'A': 1, 'A6': 38, 'AAAA': 28, 'AFSDB': 18, 'ANY': ...
  _by_value = {0: 'NONE', 1: 'A', 2: 'NS', 3: 'MD', 4: 'MF', 5: ...
  _metatypes = {41: True}
  _singletons = {5: True, 6: True, 30: True, 39: True, 47: True}
  _unknown_type_pattern = re.compile(r'(?i)TYPE([0-9]+)$')
  __package__ = 'dns'
Function Details [hide private]

from_text(text)

source code 

Convert text into a DNS rdata type value.

The input text can be a defined DNS RR type mnemonic or instance of the DNS generic type syntax.

For example, "NS" and "TYPE2" will both result in a value of 2.

Raises ``dns.rdatatype.UnknownRdatatype`` if the type is unknown.

Raises ``ValueError`` if the rdata type value is not >= 0 and <= 65535.

Returns an ``int``.

to_text(value)

source code 

Convert a DNS rdata type value to text.

If the value has a known mnemonic, it will be used, otherwise the DNS generic type syntax will be used.

Raises ``ValueError`` if the rdata type value is not >= 0 and <= 65535.

Returns a ``str``.

is_metatype(rdtype)

source code 

True if the specified type is a metatype.

*rdtype* is an ``int``.

The currently defined metatypes are TKEY, TSIG, IXFR, AXFR, MAILA, MAILB, ANY, and OPT.

Returns a ``bool``.

is_singleton(rdtype)

source code 

Is the specified type a singleton type?

Singleton types can only have a single rdata in an rdataset, or a single RR in an RRset.

The currently defined singleton types are CNAME, DNAME, NSEC, NXT, and SOA.

*rdtype* is an ``int``.

Returns a ``bool``.

register_type(rdtype, rdtype_text, is_singleton=False)

source code 

Dynamically register an rdatatype.

*rdtype*, an ``int``, the rdatatype to register.

*rdtype_text*, a ``text``, the textual form of the rdatatype.

*is_singleton*, a ``bool``, indicating if the type is a singleton (i.e. RRsets of the type can have only one member.)


Variables Details [hide private]

_by_text

Value:
{'A': 1,
 'A6': 38,
 'AAAA': 28,
 'AFSDB': 18,
 'ANY': 255,
 'APL': 42,
 'AVC': 258,
 'AXFR': 252,
...

_by_value

Value:
{0: 'NONE',
 1: 'A',
 2: 'NS',
 3: 'MD',
 4: 'MF',
 5: 'CNAME',
 6: 'SOA',
 7: 'MB',
...