From 9c2a6aecc0c576e1b47de4182872e80e3a4e08ff Mon Sep 17 00:00:00 2001 From: Viranch Mehta Date: Mon, 18 Oct 2021 23:15:46 -0700 Subject: [PATCH] Process rules and pools in respective functions --- octodns/provider/ns1.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/octodns/provider/ns1.py b/octodns/provider/ns1.py index d169290..ff2ba04 100644 --- a/octodns/provider/ns1.py +++ b/octodns/provider/ns1.py @@ -598,6 +598,9 @@ class Ns1Provider(BaseProvider): if fallback is not None: pool['fallback'] = fallback + # Order and convert to a list + default = sorted(default) + return default, pools def _parse_rule_geos(self, meta): @@ -688,6 +691,9 @@ class Ns1Provider(BaseProvider): # pool and recorded the sorted unique set of them rule['geos'] = sorted(set(rule.get('geos', [])) | geos) + # Convert to list and order + rules = sorted(rules.values(), key=lambda r: (r['_order'], r['pool'])) + return rules def _data_for_dynamic(self, _type, record): @@ -700,12 +706,6 @@ class Ns1Provider(BaseProvider): default, pools = self._parse_pools(record['answers']) rules = self._parse_rules(pools, record['regions']) - # Order and convert to a list - default = sorted(default) - # Convert to list and order - rules = list(rules.values()) - rules.sort(key=lambda r: (r['_order'], r['pool'])) - data = { 'dynamic': { 'pools': pools,