From b54678bed9ff76e2b6ab95f16888ad6678b1c5cb Mon Sep 17 00:00:00 2001 From: Ross McFarland Date: Fri, 9 Dec 2022 08:47:02 -0800 Subject: [PATCH] Refactor YamlProvider to add get_filenames Makes it easier to inherit from YamlProvider to add custom filename handling --- CHANGELOG.md | 2 ++ octodns/provider/yaml.py | 9 +++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3656f9e..901ca14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,8 @@ #### Stuff * Added simple IgnoreRootNsFilter +* Minor refactor on YamlProvider to add get_filenames making it a bit easier to + create specialized providers inheriting from it ## v0.9.21 - 2022-10-16 - Last of the oughts diff --git a/octodns/provider/yaml.py b/octodns/provider/yaml.py index c2e8b3f..b3ec634 100644 --- a/octodns/provider/yaml.py +++ b/octodns/provider/yaml.py @@ -183,6 +183,12 @@ class YamlProvider(BaseProvider): '_populate_from_file: successfully loaded "%s"', filename ) + def get_filenames(self, zone): + return ( + join(self.directory, f'{zone.decoded_name}yaml'), + join(self.directory, f'{zone.name}yaml'), + ) + def populate(self, zone, target=False, lenient=False): self.log.debug( 'populate: name=%s, target=%s, lenient=%s', @@ -197,8 +203,7 @@ class YamlProvider(BaseProvider): return False before = len(zone.records) - utf8_filename = join(self.directory, f'{zone.decoded_name}yaml') - idna_filename = join(self.directory, f'{zone.name}yaml') + utf8_filename, idna_filename = self.get_filenames(zone) # we prefer utf8 if isfile(utf8_filename):