From 221367b06a09eb702f19f35f37873fa9ff048a57 Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Mon, 10 Apr 2023 16:49:10 -0700 Subject: [PATCH] empty lists ok, minor refactor in _process_desired_zone --- octodns/provider/base.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/octodns/provider/base.py b/octodns/provider/base.py index c900793..75fe18d 100644 --- a/octodns/provider/base.py +++ b/octodns/provider/base.py @@ -84,11 +84,12 @@ class BaseProvider(BaseSource): if not self.SUPPORTS_DYNAMIC_SUBNETS: subnet_rules = [] for i, rule in enumerate(record.dynamic.rules): - if 'subnets' not in rule.data: + rule = rule.data + if not rule.get('subnets'): continue msg = f'rule {i + 1} contains unsupported subnet matching in {record.fqdn}' - if 'geos' in rule.data: + if rule.get('geos'): fallback = 'using geos only' self.supports_warn_or_except(msg, fallback) else: @@ -100,12 +101,13 @@ class BaseProvider(BaseSource): record = record.copy() # drop subnet rules in reverse order so indices don't shift during rule deletion + rules = record.dynamic.rules for i in subnet_rules[::-1]: - rule = record.dynamic.rules[i] - if 'geo' in rule: + rule = rules[i].data + if rule.get('geos'): del rule['subnets'] else: - del record.dynamic.rules[i] + del rules[i] # drop any pools rendered unused pools = record.dynamic.pools