wip
This commit is contained in:
parent
b59c691b5f
commit
5a1ca9142d
1 changed files with 15 additions and 6 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
class hdict(dict):
|
||||||
|
def __hash__(self):
|
||||||
|
return hash(tuple(sorted(self.items())))
|
||||||
|
|
||||||
|
class hlist(list):
|
||||||
|
def __hash__(self):
|
||||||
|
return hash(tuple(sorted(self)))
|
||||||
|
|
||||||
|
|
||||||
from ipaddress import ip_interface
|
from ipaddress import ip_interface
|
||||||
|
|
||||||
|
|
||||||
|
@ -75,9 +84,9 @@ def collect_records(metadata):
|
||||||
for type, values in records.items():
|
for type, values in records.items():
|
||||||
for value in values:
|
for value in values:
|
||||||
zones\
|
zones\
|
||||||
.setdefault(zone, [])\
|
.setdefault(zone, set())\
|
||||||
.append(
|
.add(
|
||||||
{'name': name, 'type': type, 'value': value}
|
hdict({'name': name, 'type': type, 'value': value})
|
||||||
)
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -104,10 +113,10 @@ def ns_records(metadata):
|
||||||
return {
|
return {
|
||||||
'bind': {
|
'bind': {
|
||||||
'zones': {
|
'zones': {
|
||||||
zone: [
|
zone: {
|
||||||
{'name': '@', 'type': 'NS', 'value': f"{nameserver}."}
|
hdict({'name': '@', 'type': 'NS', 'value': f"{nameserver}."})
|
||||||
for nameserver in nameservers
|
for nameserver in nameservers
|
||||||
] for zone in metadata.get('bind/zones').keys()
|
} for zone in metadata.get('bind/zones').keys()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue