Use pre-defined reverse domain names
This commit is contained in:
@@ -5,6 +5,7 @@ import dnsmgr
|
|||||||
import re
|
import re
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
from dns.reversename import ipv4_reverse_domain, ipv6_reverse_domain
|
||||||
from json import dumps
|
from json import dumps
|
||||||
|
|
||||||
|
|
||||||
@@ -47,9 +48,6 @@ def main():
|
|||||||
|
|
||||||
zones.sort(key=lambda zone: zone.view)
|
zones.sort(key=lambda zone: zone.view)
|
||||||
|
|
||||||
rev_domain = dnsmgr.name_from_text('in-addr.arpa')
|
|
||||||
rev_domain6 = dnsmgr.name_from_text('ip6.arpa')
|
|
||||||
|
|
||||||
zone_records = {}
|
zone_records = {}
|
||||||
for zone in zones:
|
for zone in zones:
|
||||||
try:
|
try:
|
||||||
@@ -70,9 +68,9 @@ def main():
|
|||||||
'type': str(rdataset.rdtype.to_text(rdataset.rdtype)),
|
'type': str(rdataset.rdtype.to_text(rdataset.rdtype)),
|
||||||
'value': value.to_text(origin=zone.origin, relativize=False)})
|
'value': value.to_text(origin=zone.origin, relativize=False)})
|
||||||
|
|
||||||
if zone.origin.is_subdomain(rev_domain):
|
if zone.origin.is_subdomain(ipv4_reverse_domain):
|
||||||
records.sort(key=lambda r: int(re.findall(r'\d+|$', r['name'])[0] or 0))
|
records.sort(key=lambda r: int(re.findall(r'\d+|$', r['name'])[0] or 0))
|
||||||
elif zone.origin.is_subdomain(rev_domain6):
|
elif zone.origin.is_subdomain(ipv6_reverse_domain):
|
||||||
records.sort(key=lambda r: int(''.join(re.findall(r'\d+', r['name'])) or 0))
|
records.sort(key=lambda r: int(''.join(re.findall(r'\d+', r['name'])) or 0))
|
||||||
else:
|
else:
|
||||||
records.sort(key=lambda r: f'{r["name"]}{r["type"]}')
|
records.sort(key=lambda r: f'{r["name"]}{r["type"]}')
|
||||||
|
|||||||
Reference in New Issue
Block a user