You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

utils.py 752B

123456789101112131415161718192021222324252627282930
  1. import ipaddress
  2. import typing
  3. def make_subnet(subnet):
  4. network = ipaddress.IPv4Network(subnet)
  5. return {
  6. "address": str(network.network_address),
  7. "with_prefix": network.with_prefixlen,
  8. "prefix": network.prefixlen,
  9. "with_netmask": network.with_netmask,
  10. "netmask": str(network.netmask)
  11. }
  12. def polyfill_field(data, field, value):
  13. if isinstance(data, list):
  14. for item in data:
  15. if not field in item:
  16. item[field] = value
  17. elif isinstance(data, dict):
  18. for item_name in data:
  19. item = data[item_name]
  20. if not field in item:
  21. item[field] = value
  22. def polyfill_deleted(data):
  23. polyfill_field(data, "deleted", False)