From 37101104ed74937ec888e7d22d3490f1863f7b8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ond=C5=99ej=20Caletka?= Date: Mon, 16 Jul 2018 16:05:32 +0200 Subject: [PATCH] Issue a warning when duplicate zone file is found --- dzonegit.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/dzonegit.py b/dzonegit.py index 542b783..5ab0163 100644 --- a/dzonegit.py +++ b/dzonegit.py @@ -295,14 +295,21 @@ def template_config(checkoutpath, template): defaultvar = tpl.get("defaultvar", "") zonevars = tpl.get("zonevars", dict()) out = list() - zones = set() + zones = dict() mapping = {"datetime": datetime.datetime.now().strftime("%c")} out.append(headertpl.substitute(mapping)) for f in sorted(Path(checkoutpath).glob("**/*.zone")): zonename = get_zone_name(f, f.read_bytes()) if zonename in zones: - continue # Safety net in case duplicate zone file is found - zones.add(zonename) + print( + "WARNING: Duplicate zone file found for zone {}. " + "Using file {}, ignoring {}.".format( + zonename, zones[zonename], + f.relative_to(checkoutpath), + ), + ) + continue + zones[zonename] = f.relative_to(checkoutpath) zonevar = zonevars[zonename] if zonename in zonevars else defaultvar out.append(itemtpl.substitute( mapping, zonename=zonename,