bw 13 hashable
This commit is contained in:
parent
b022eabeb0
commit
34e9366c61
3 changed files with 8 additions and 10 deletions
|
@ -136,8 +136,7 @@ for view in views:
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|
||||||
for zone, record_dicts in zones.items():
|
for zone, records in zones.items():
|
||||||
records = record_dicts.values()
|
|
||||||
unique_records = [
|
unique_records = [
|
||||||
dict(record_tuple)
|
dict(record_tuple)
|
||||||
for record_tuple in set(
|
for record_tuple in set(
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
from ipaddress import ip_interface
|
from ipaddress import ip_interface
|
||||||
from json import dumps
|
from json import dumps
|
||||||
|
h = repo.libs.hashable.hashable
|
||||||
|
|
||||||
defaults = {
|
defaults = {
|
||||||
'apt': {
|
'apt': {
|
||||||
|
@ -75,12 +75,11 @@ def collect_records(metadata):
|
||||||
|
|
||||||
for type, values in records.items():
|
for type, values in records.items():
|
||||||
for value in values:
|
for value in values:
|
||||||
entry = {'name': name, 'type': type, 'value': value}
|
|
||||||
zones\
|
zones\
|
||||||
.setdefault(zone, {})\
|
.setdefault(zone, set())\
|
||||||
.update({
|
.add(
|
||||||
str(hash(dumps(entry))): entry,
|
h({'name': name, 'type': type, 'value': value})
|
||||||
})
|
)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'bind': {
|
'bind': {
|
||||||
|
@ -108,7 +107,7 @@ def ns_records(metadata):
|
||||||
'zones': {
|
'zones': {
|
||||||
zone: {
|
zone: {
|
||||||
# FIXME: bw currently cant handle lists of dicts :(
|
# FIXME: bw currently cant handle lists of dicts :(
|
||||||
str(hash(dumps({'name': '@', 'type': 'NS', 'value': f"{nameserver}."}))): {'name': '@', 'type': 'NS', 'value': f"{nameserver}."}
|
h({'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()
|
||||||
},
|
},
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
bundlewrap>=4.12.0
|
bundlewrap>=4.13.0
|
||||||
pycryptodome
|
pycryptodome
|
||||||
PyNaCl
|
PyNaCl
|
||||||
PyYAML
|
PyYAML
|
||||||
|
|
Loading…
Reference in a new issue