From 58496cdb404d0401d41cac62aea3e376e39a0954 Mon Sep 17 00:00:00 2001 From: HgO Date: Fri, 25 Dec 2020 20:32:30 +0100 Subject: [PATCH] allow list of domains instead of dict --- files/acme_renew_cert.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/files/acme_renew_cert.py b/files/acme_renew_cert.py index b9eecd6..571db39 100755 --- a/files/acme_renew_cert.py +++ b/files/acme_renew_cert.py @@ -345,6 +345,19 @@ def main(): logging.error(f"Unable to load config file: {e}") return 1 + if isinstance(config["domains"], list): + domains = {domain.name: domain for domain in config["domains"]} + if len(domains) != len(config["domains"]): + domain_uniques = set() + domain_duplicates = set() + for domain in config["domains"]: + if domain.name not in domain_uniques: + domain_uniques.add(domain.name) + else: + domain_duplicates.add(domain.name) + logging.error(f"Duplicate domain name(s) found: {domain_uniques}") + return 2 + try: domains_to_renew = [] for domain_name, domain_details in config["domains"].items(): @@ -385,7 +398,7 @@ def main(): domain.renew_cert(challenge, force=args.force) except Exception as e: logging.exception(e) - return 2 + return 3 if __name__ == '__main__':