Refactor of caching & data storage part 15 #118

This commit is contained in:
Ian Renton
2026-08-03 19:43:38 +01:00
parent f82d611b7e
commit 27d73c27d6
3 changed files with 9 additions and 2 deletions
+4 -1
View File
@@ -29,7 +29,8 @@ class HamQTH(APIQueryCallsignDataProvider):
expire_after=timedelta(minutes=55))
def _perform_new_lookup(self, callsign, lookup_credentials):
# If we don't have HamQTH credentials, skip this lookup
# If we don't have HamQTH credentials, skip this lookup Return None so we don't *cache* the lack of data, because
# # someone might provide credentials next time around.
if not lookup_credentials or not ((lookup_credentials.hamqth_username and lookup_credentials.hamqth_password)
or lookup_credentials.hamqth_session_key):
return None
@@ -75,6 +76,8 @@ class HamQTH(APIQueryCallsignDataProvider):
self._HAMQTH_BASE_URL + "?id=" + session_key + "&callsign=" + urllib.parse.quote_plus(
lookup_call) + "&prg=" + self._PRG, headers=HTTP_HEADERS, timeout=10)
if response.ok:
self.status = "OK"
self.last_update_time = datetime.now(pytz.UTC)
data = xmltodict.parse(response.content)["HamQTH"]["search"]
# Found data, convert it to our object and return it
return self.hamqth_response_to_callsign(callsign, data)