diff options
Diffstat (limited to 'updater/adapter.py')
| -rw-r--r-- | updater/adapter.py | 24 |
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) |
