Use pre-defined reverse domain names

This commit is contained in:
2025-09-01 17:02:43 +02:00
parent fd33964168
commit 7955508333

View File

@@ -5,6 +5,7 @@ import dnsmgr
import re
import sys
from dns.reversename import ipv4_reverse_domain, ipv6_reverse_domain
from json import dumps
@@ -47,9 +48,6 @@ def main():
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 = {}
for zone in zones:
try:
@@ -70,9 +68,9 @@ def main():
'type': str(rdataset.rdtype.to_text(rdataset.rdtype)),
'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))
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))
else:
records.sort(key=lambda r: f'{r["name"]}{r["type"]}')