From 28004257406565ed30afbf53072346438882d4d1 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Thu, 17 Dec 2020 09:59:18 -0600 Subject: [PATCH] Reformat file --- hetzner-ddns.py | 61 ++++++++++++++++++++++++++----------------------- 1 file changed, 33 insertions(+), 28 deletions(-) diff --git a/hetzner-ddns.py b/hetzner-ddns.py index 9679283..1a6beda 100755 --- a/hetzner-ddns.py +++ b/hetzner-ddns.py @@ -39,9 +39,9 @@ def merge_config_file(): global args basepath = os.path.dirname(os.path.abspath(__file__)) candidate_config_files = [ - args["--config"], - os.path.join(basepath, "hetzner-ddns.conf"), - "/etc/hetzner-ddns.conf", + args["--config"], + os.path.join(basepath, "hetzner-ddns.conf"), + "/etc/hetzner-ddns.conf", ] for filename in candidate_config_files: @@ -51,7 +51,7 @@ def merge_config_file(): print("Reading options from %s" % filename) config = configparser.ConfigParser() config.read(filename) - + section_name = config.sections()[0] print(" %-20s %s" % ("--zone", section_name)) args["--zone"] = section_name @@ -65,6 +65,7 @@ def merge_config_file(): return args + def merge_defaults(): global args default_args = { @@ -96,36 +97,40 @@ if args["--zone"] is None: merge_defaults() -def get_addr(url, - retry=int(args["--retry-attempts"]), - delay=int(args["--retry-delay"])): +def get_addr( + url, retry=int(args["--retry-attempts"]), delay=int(args["--retry-delay"]) +): exception = None for i in range(retry): try: import urllib + txt = urllib.request.urlopen(url).read() return txt.decode("utf-8") except Exception as e: exception = e print(" connection failed, retrying in %d seconds..." % delay) sleep(delay) - raise(exception) + raise (exception) def get_all_records(zone): - response = requests.get(url="https://dns.hetzner.com/api/v1/records", - params={"zone_id": zone["id"]}, - headers={"Auth-API-Token": args["--token"]}) + response = requests.get( + url="https://dns.hetzner.com/api/v1/records", + params={"zone_id": zone["id"]}, + headers={"Auth-API-Token": args["--token"]}, + ) return response.json()["records"] def get_all_zones(): - response = requests.get(url="https://dns.hetzner.com/api/v1/zones", - headers={"Auth-API-Token": args["--token"]}) + response = requests.get( + url="https://dns.hetzner.com/api/v1/zones", + headers={"Auth-API-Token": args["--token"]}, + ) return response.json()["zones"] - def find_record(zone, name, kind="AAAA"): all_records = get_all_records(zone) for r in all_records: @@ -139,7 +144,7 @@ def find_zone(name): for z in all_zones: if z["name"] == name: return z - raise(Exception("Zone not found: %s" % name)) + raise (Exception("Zone not found: %s" % name)) def update_record(record): @@ -149,7 +154,7 @@ def update_record(record): "Content-Type": "application/json", "Auth-API-Token": args["--token"], }, - data=json.dumps(record) + data=json.dumps(record), ) response.raise_for_status() @@ -161,7 +166,7 @@ def create_record(record): "Content-Type": "application/json", "Auth-API-Token": args["--token"], }, - data=json.dumps(record) + data=json.dumps(record), ) response.raise_for_status() @@ -189,20 +194,20 @@ def main(): print(" %s" % addr) print("Finding existing %s record..." % kind) - rec = find_record(zone=zone, - kind=kind, - name=args["--hostname"]) - + rec = find_record(zone=zone, kind=kind, name=args["--hostname"]) + if rec is None: print(" not found") print("Creating new %s record..." % kind) - create_record({ - "value": addr, - "type": kind, - "name": args["--hostname"], - "zone_id": args["--zone"], - "ttl": args["--ttl"], - }) + create_record( + { + "value": addr, + "type": kind, + "name": args["--hostname"], + "zone_id": args["--zone"], + "ttl": args["--ttl"], + } + ) print(" done") else: print(" found")