From 497336e6abd94e023cae3656b0d517c07b50d70b Mon Sep 17 00:00:00 2001 From: Ross McFarland Date: Thu, 18 Aug 2022 08:10:21 -0700 Subject: [PATCH] Use IdnaDict for configured_sub_zones, fix get_zone, comments --- octodns/manager.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/octodns/manager.py b/octodns/manager.py index af559cd..fc50f17 100644 --- a/octodns/manager.py +++ b/octodns/manager.py @@ -341,7 +341,7 @@ class Manager(object): if self._configured_sub_zones is None: # First time through we compute all the sub-zones - configured_sub_zones = {} + configured_sub_zones = IdnaDict() # Get a list of all of our zone names. Sort them from shortest to # longest so that parents will always come before their subzones @@ -758,6 +758,7 @@ class Manager(object): target.apply(plan) def validate_configs(self): + # TODO: this code can probably be shared with stuff in sync for zone_name, config in self.config['zones'].items(): zone = Zone(zone_name, self.configured_sub_zones(zone_name)) @@ -824,8 +825,10 @@ class Manager(object): f'Invalid zone name {zone_name}, missing ' 'ending dot' ) - for name, config in self.config['zones'].items(): - if name == zone_name: - return Zone(name, self.configured_sub_zones(name)) + zone = self.config['zones'].get(zone_name) + if zone: + return Zone( + idna_decode(zone_name), self.configured_sub_zones(zone_name) + ) raise ManagerException(f'Unknown zone name {zone_name}')