diff options
Diffstat (limited to 'skripti/zone')
-rwxr-xr-x | skripti/zone/axfr.py | 7 | ||||
-rwxr-xr-x | skripti/zone/update.py | 10 |
2 files changed, 9 insertions, 8 deletions
diff --git a/skripti/zone/axfr.py b/skripti/zone/axfr.py index fe508f1..11eaad9 100755 --- a/skripti/zone/axfr.py +++ b/skripti/zone/axfr.py @@ -20,8 +20,8 @@ for naslov in naslovi: # opcijsko dodaj tule kakšen try catch break config = None try: - config = json.loads(b''.join(dns.resolver.resolve("_urejevalnik." + domena, "TXT")[0].strings).decode()) -except dns.resolver.NXDOMAIN: + config = json.loads(b''.join(zone["_urejevalnik"].get_rdataset(dns.rdataclass.IN, dns.rdatatype.TXT)[0].strings).decode()) +except KeyError: pass except json.decoder.JSONDecodeError: pass @@ -53,7 +53,8 @@ for r in zone.iterate_rdatas(): konec = config["i"][r[0].to_unicode()] print(r[0].to_unicode(), end=konec) if r[1] != config["t"]: - print(r[1], end="\t") + print(r[1], end="") + print("\t", end="") if r[2].rdclass != dns.rdataclass.IN: print(r[2].rdataclass.name, end="\t") print(r[2].rdtype.name, end="\t") diff --git a/skripti/zone/update.py b/skripti/zone/update.py index 34a4e39..ead2c39 100755 --- a/skripti/zone/update.py +++ b/skripti/zone/update.py @@ -24,8 +24,8 @@ for naslov in naslovi: # opcijsko dodaj tule kakšen try catch break config = None try: - config = json.loads(b''.join(dns.resolver.resolve("_urejevalnik." + domena, "TXT")[0].strings).decode()) -except dns.resolver.NXDOMAIN: + config = json.loads(b''.join(zone["_urejevalnik"].get_rdataset(dns.rdataclass.IN, dns.rdatatype.TXT)[0].strings).decode()) +except KeyError: pass except json.decoder.JSONDecodeError: pass @@ -61,7 +61,7 @@ for r in zone.iterate_rdatas(): vrednost = '"' + niz + '"' else: vrednost = r[2].to_text() - rrs.append((r[1], r[0].to_unicode(), komentar, konec, r[2].rdclass, r[2].rdtype, vrednost)) + rrs.append((r[1], r[0].to_unicode(), komentar, None, r[2].rdclass, r[2].rdtype, vrednost)) komentar = "" lineno = 1 novikomentarji = {} @@ -118,7 +118,7 @@ while True: except dns.rdatatype.UnknownRdatatype: pass if tip == None: - print(f"NAPAKA: na vrstici {lineno} ne najdem tipa zapisa. Vrstica je lahko bodisi komentar, ki se začne z ';', bodisi je v obliki IME [TTL={newconfig["t"]}] [CLASS=IN] TIP PODATKI.") + print(f"NAPAKA: na vrstici {lineno} ne najdem tipa zapisa. Vrstica je lahko bodisi komentar, ki se začne z ';', bodisi je v obliki IME [TTL={newconfig['t']}] [CLASS=IN] TIP PODATKI.") print(f"Vsebina neveljavne vrstice: " + line) sys.exit(1) while line[datastart] in [" ", "\t"]: @@ -133,7 +133,7 @@ while True: data = data.split() data[2] = str(int(data[2])+newconfig["+"]) data = " ".join(data) - tapl = (ttl, ime, komentar, konec, razred, tip, data) + tapl = (ttl, ime, komentar, None, razred, tip, data) if komentar != "": novikomentarji[ime + " " + tip.to_text(tip)] = komentar if konec != "\t": |