aboutsummaryrefslogtreecommitdiff
path: root/updater/adapter.py
diff options
context:
space:
mode:
authorElizabeth Hunt <elizabeth.hunt@simponic.xyz>2024-04-10 16:13:16 -0600
committerElizabeth Hunt <elizabeth.hunt@simponic.xyz>2024-04-10 16:13:16 -0600
commit0c7ac77127e47f0130ab4961303eedd245c0ca6f (patch)
tree27fa0ea407703606c54d09303eab07afb6ae5328 /updater/adapter.py
parent7c62833cb3dfc28d279bc72c6a68a7a907488759 (diff)
downloadhatecomputers-dns-updater-0c7ac77127e47f0130ab4961303eedd245c0ca6f.tar.gz
hatecomputers-dns-updater-0c7ac77127e47f0130ab4961303eedd245c0ca6f.zip
initial setup
Diffstat (limited to 'updater/adapter.py')
-rw-r--r--updater/adapter.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/updater/adapter.py b/updater/adapter.py
new file mode 100644
index 0000000..b0980a3
--- /dev/null
+++ b/updater/adapter.py
@@ -0,0 +1,24 @@
+import requests
+import time
+import logging
+
+
+class HatecomputersDNSAdapter:
+ def __init__(self, endpoint, api_key, logger=None):
+ self.endpoint = endpoint
+ self.session = requests.Session()
+ self.headers = {"Authorization": "Bearer " + api_key}
+ self.logger = logger or logging.getLogger(__name__)
+
+ def post_record(self, record):
+ endpoint = self.endpoint + "/dns"
+ self.logger.info(f"adding {record} to {endpoint}")
+
+ self.session.post(endpoint, headers=self.headers, data=record)
+
+ def post_records(self, dns_entries, eepy_time=0.25):
+ for record in dns_entries:
+ self.post_record(record)
+
+ self.logger.info(f"sleeping for {eepy_time}")
+ time.sleep(eepy_time)