def handle(self, filename, *args, **options): zone = dns.zone.from_file(filename) domain = Domain(name=str(zone.origin).strip('.'), type='MASTER') domain.save() for entry in zone: node = zone[entry] name = str(entry.choose_relativity(zone.origin, False)).strip('.') for rdataset in node: qtype = dns.rdatatype.to_text(rdataset.rdtype) ttl = rdataset.ttl for rdata in rdataset: prio = None if qtype == 'MX': prio = rdata.preference content = str( rdata.exchange.choose_relativity( zone.origin, False)) elif qtype == 'TXT': content = b'\n'.join(rdata.strings) elif qtype == 'CNAME': content = rdata.to_text(zone.origin, False).strip('.') else: content = rdata.to_text(zone.origin, False) record = Record( domain=domain, name=name, type=qtype, ttl=ttl, prio=prio, content=content, ) record.save()
def setUp(self): self.domain = Domain(name='example.com') self.domain.save() self.user = User.objects.create_user('user', '*****@*****.**', 'password')