docs: def get_asn_verbose_dns(self, asn=None):
          """
          The function for retrieving the information for an ASN from
          Cymru via port 53 (DNS). This is needed since IP to ASN mapping via
          Cymru DNS does not return the ASN Description like Cymru Whois does.
  
          Args:
              asn (:obj:`str`): The AS number (required).
  
          Returns:
              str: The raw ASN data.
  
          Raises:
              ASNLookupError: The ASN lookup failed.
          """
  
          if asn[0:2] != 'AS':
  
              asn = 'AS{0}'.format(asn)
  
          zone = '{0}.asn.cymru.com'.format(asn)
  
          try:
  
              log.debug('ASN verbose query for {0}'.format(zone))
              data = self.dns_resolver.query(zone, 'TXT')
              return str(data[0])
  
          except (dns.resolver.NXDOMAIN, dns.resolver.NoNameservers,
                  dns.resolver.NoAnswer, dns.exception.Timeout) as e:
  
              raise ASNLookupError(
                  'ASN lookup failed (DNS {0}) for {1}.'.format(
                      e.__class__.__name__, asn)
              )
  
          except:  # pragma: no cover
  
              raise ASNLookupError(
                  'ASN lookup failed for {0}.'.format(asn)
              )