Example #1
0
def from_rdata(rdata, ttl=300):
	if not isinstance(rdata, dns.rdata.Rdata):
		raise TypeError('Invalid rdata');
	rtype = rdt.to_text(rdata.rdtype);
	rclass = rdc.to_text(rdata.rdclass);
	rec = Record(rtype, rclass, ttl);
	rec.from_rdata(rdata, ttl);
	return rec
Example #2
0
 def records_list_from_node(cls, name, node):
     records = []
     for rdataset in node:
         for rd in rdataset:
             records.append(
                 '{name} {ttl} {rdclass} {rdtype} {rdata}'.format(
                     name=name.ToASCII(),
                     ttl=rdataset.ttl,
                     rdclass=rdataclass.to_text(rd.rdclass),
                     rdtype=rdatatype.to_text(rd.rdtype),
                     rdata=rd.to_text()))
     return records
Example #3
0
 def records_list_from_node(cls, name, node):
     records = []
     for rdataset in node:
         for rd in rdataset:
             records.append(
                 u'{name} {ttl} {rdclass} {rdtype} {rdata}'.format(
                     name=name.ToASCII(),
                     ttl=rdataset.ttl,
                     rdclass=rdataclass.to_text(rd.rdclass),
                     rdtype=rdatatype.to_text(rd.rdtype),
                     rdata=rd.to_text()
                 )
             )
     return records
Example #4
0
def get_rrs_from_rrsets(rrsets):
    """This works for answer, authority, and additional rrsets"""
    rr_list = []
    for rrset in rrsets:
        common_rr_dict = {
            "Name":  str(rrset.name),
            "Type": rdatatype.to_text(rrset.rdtype),
            "Class": rdataclass.to_text(rrset.rdclass),
            "TTL": rrset.ttl  # TODO: doesn't each rr have it's own ttl?
        }
        for rr in rrset:
            rr_dict = common_rr_dict.copy()
            rr_dict.update(get_record_specific_answer_fields(rr))
            rr_list.append(rr_dict)
    return rr_list
Example #5
0
def get_question(query):
    return {
        "Qname": str(query.qname),
        "Qtype": rdatatype.to_text(query.rdtype),
        "Qclass": rdataclass.to_text(query.rdclass)
    }