mirror of
https://git.ianrenton.com/ian/spothole.git
synced 2026-08-06 02:21:42 +00:00
Improve error reporting
This commit is contained in:
+19
-11
@@ -511,13 +511,20 @@ class LookupHelper:
|
|||||||
self._qrz_base_url + "?s=" + session_key + "&callsign=" + urllib.parse.quote_plus(lookup_call),
|
self._qrz_base_url + "?s=" + session_key + "&callsign=" + urllib.parse.quote_plus(lookup_call),
|
||||||
headers=HTTP_HEADERS, timeout=10)
|
headers=HTTP_HEADERS, timeout=10)
|
||||||
if response.ok:
|
if response.ok:
|
||||||
raw = xmltodict.parse(response.content).get("QRZDatabase", {}).get("Callsign")
|
qrz_response = xmltodict.parse(response.content).get("QRZDatabase", {})
|
||||||
if raw:
|
if qrz_response:
|
||||||
data = _normalize_qrz_data(raw)
|
if "Callsign" in qrz_response:
|
||||||
self._qrz_callsign_data_cache.add(call, data, expire=604800) # 1 week in seconds
|
data = _normalize_qrz_data(qrz_response.get("Callsign"))
|
||||||
return data
|
self._qrz_callsign_data_cache.add(call, data, expire=604800) # 1 week in seconds
|
||||||
|
return data
|
||||||
|
elif "Session" in qrz_response and "Error" in qrz_response.get("Session"):
|
||||||
|
# Errors here are normally just "callsign not in database", no need to log that ourselves
|
||||||
|
# above debug level.
|
||||||
|
logging.debug("QRZ returned an error looking up callsign %s: %s", lookup_call,
|
||||||
|
qrz_response.get("Session").get("Error"))
|
||||||
|
|
||||||
elif not response.from_cache:
|
elif not response.from_cache:
|
||||||
logging.warning("Malformed response looking up callsign %s using QRZ", lookup_call)
|
logging.warning("QRZ returned a malformed response looking up callsign %s", lookup_call)
|
||||||
elif not response.from_cache:
|
elif not response.from_cache:
|
||||||
logging.warning("HTTP %d looking up callsign %s using QRZ", lookup_call)
|
logging.warning("HTTP %d looking up callsign %s using QRZ", lookup_call)
|
||||||
|
|
||||||
@@ -525,9 +532,10 @@ class LookupHelper:
|
|||||||
continue
|
continue
|
||||||
except ConnectionError:
|
except ConnectionError:
|
||||||
logging.warning(f"Connection error when looking up callsign %s using QRZ", lookup_call)
|
logging.warning(f"Connection error when looking up callsign %s using QRZ", lookup_call)
|
||||||
|
continue
|
||||||
except Exception:
|
except Exception:
|
||||||
logging.error("Exception when looking up callsign %s using QRZ", lookup_call)
|
logging.error("Exception when looking up callsign %s using QRZ", lookup_call, exc_info=True)
|
||||||
return None
|
continue
|
||||||
|
|
||||||
# Not found in QRZ; cache None so we don't keep retrying
|
# Not found in QRZ; cache None so we don't keep retrying
|
||||||
self._qrz_callsign_data_cache.add(call, None, expire=604800) # 1 week in seconds
|
self._qrz_callsign_data_cache.add(call, None, expire=604800) # 1 week in seconds
|
||||||
@@ -580,15 +588,15 @@ class LookupHelper:
|
|||||||
return data
|
return data
|
||||||
elif not response.from_cache:
|
elif not response.from_cache:
|
||||||
logging.warning("HTTP %d looking up callsign %s using HamQTH", response.status_code, lookup_call)
|
logging.warning("HTTP %d looking up callsign %s using HamQTH", response.status_code, lookup_call)
|
||||||
return None
|
|
||||||
|
|
||||||
except (KeyError, ValueError):
|
except (KeyError, ValueError):
|
||||||
continue
|
continue
|
||||||
except ConnectionError:
|
except ConnectionError:
|
||||||
logging.warning(f"Connection error when looking up callsign %s using HamQTH", lookup_call)
|
logging.warning(f"Connection error when looking up callsign %s using HamQTH", lookup_call)
|
||||||
|
continue
|
||||||
except Exception:
|
except Exception:
|
||||||
logging.error("Exception when looking up callsign %s using HamQTH", lookup_call)
|
logging.error("Exception when looking up callsign %s using HamQTH", lookup_call, exc_info=True)
|
||||||
return None
|
continue
|
||||||
|
|
||||||
# Not found in HamQTH; cache None so we don't keep retrying
|
# Not found in HamQTH; cache None so we don't keep retrying
|
||||||
self._hamqth_callsign_data_cache.add(call, None, expire=604800) # 1 week in seconds
|
self._hamqth_callsign_data_cache.add(call, None, expire=604800) # 1 week in seconds
|
||||||
|
|||||||
@@ -98,13 +98,13 @@ class GMA(HTTPSpotProvider):
|
|||||||
# other code will do that for us.
|
# other code will do that for us.
|
||||||
new_spots.append(spot)
|
new_spots.append(spot)
|
||||||
|
|
||||||
elif not ref_response.from_cache:
|
elif not ref_response.from_cache:
|
||||||
if not ref_response.ok:
|
if not ref_response.ok:
|
||||||
logging.warning(
|
logging.warning(
|
||||||
f"HTTP {ref_response.status_code} when looking up GMA ref {source_spot["REF"]}")
|
f"HTTP {ref_response.status_code} when looking up GMA ref {source_spot["REF"]}")
|
||||||
else:
|
else:
|
||||||
logging.warning(
|
logging.warning(
|
||||||
f"GMA API returned a malformed response when looking up ref {source_spot["REF"]}")
|
f"GMA API returned a malformed response when looking up ref {source_spot["REF"]}")
|
||||||
except:
|
except:
|
||||||
logging.warning("Exception when looking up " + self.REF_INFO_URL_ROOT + source_spot[
|
logging.warning("Exception when looking up " + self.REF_INFO_URL_ROOT + source_spot[
|
||||||
"REF"] + ", ignoring this spot for now")
|
"REF"] + ", ignoring this spot for now")
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/js/add-spot.js?v=1784966577"></script>
|
<script src="/js/add-spot.js?v=1784968398"></script>
|
||||||
<script>$(document).ready(function () {
|
<script>$(document).ready(function () {
|
||||||
$("#nav-link-add-spot").addClass("active");
|
$("#nav-link-add-spot").addClass("active");
|
||||||
}); <!-- highlight active page in nav --></script>
|
}); <!-- highlight active page in nav --></script>
|
||||||
|
|||||||
@@ -75,7 +75,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/js/alerts.js?v=1784966578"></script>
|
<script src="/js/alerts.js?v=1784968398"></script>
|
||||||
<script>$(document).ready(function () {
|
<script>$(document).ready(function () {
|
||||||
$("#nav-link-alerts").addClass("active");
|
$("#nav-link-alerts").addClass("active");
|
||||||
}); <!-- highlight active page in nav --></script>
|
}); <!-- highlight active page in nav --></script>
|
||||||
|
|||||||
@@ -75,8 +75,8 @@
|
|||||||
<script>
|
<script>
|
||||||
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
|
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
|
||||||
</script>
|
</script>
|
||||||
<script src="/js/spotsbandsandmap.js?v=1784966577"></script>
|
<script src="/js/spotsbandsandmap.js?v=1784968398"></script>
|
||||||
<script src="/js/bands.js?v=1784966577"></script>
|
<script src="/js/bands.js?v=1784968398"></script>
|
||||||
<script>$(document).ready(function () {
|
<script>$(document).ready(function () {
|
||||||
$("#nav-link-bands").addClass("active");
|
$("#nav-link-bands").addClass("active");
|
||||||
}); <!-- highlight active page in nav --></script>
|
}); <!-- highlight active page in nav --></script>
|
||||||
|
|||||||
+5
-5
@@ -1,6 +1,6 @@
|
|||||||
{% extends "skeleton.html" %}
|
{% extends "skeleton.html" %}
|
||||||
{% block head_extra %}
|
{% block head_extra %}
|
||||||
<link rel="stylesheet" href="/css/style.css?v=1784966577" type="text/css">
|
<link rel="stylesheet" href="/css/style.css?v=1784968398" type="text/css">
|
||||||
<link href="/vendor/css/bootstrap-5.3.8.min.css" rel="stylesheet">
|
<link href="/vendor/css/bootstrap-5.3.8.min.css" rel="stylesheet">
|
||||||
<link href="/vendor/css/fontawesome-6.7.2.min.css" rel="stylesheet">
|
<link href="/vendor/css/fontawesome-6.7.2.min.css" rel="stylesheet">
|
||||||
<link href="/vendor/css/solid-6.7.2.min.css" rel="stylesheet">
|
<link href="/vendor/css/solid-6.7.2.min.css" rel="stylesheet">
|
||||||
@@ -10,10 +10,10 @@
|
|||||||
<script src="/vendor/js/bootstrap-5.3.8.bundle.min.js"></script>
|
<script src="/vendor/js/bootstrap-5.3.8.bundle.min.js"></script>
|
||||||
<script src="/vendor/js/tinycolor2-1.6.0.min.js"></script>
|
<script src="/vendor/js/tinycolor2-1.6.0.min.js"></script>
|
||||||
|
|
||||||
<script src="/js/utils.js?v=1784966577"></script>
|
<script src="/js/utils.js?v=1784968398"></script>
|
||||||
<script src="/js/ui-ham.js?v=1784966577"></script>
|
<script src="/js/ui-ham.js?v=1784968398"></script>
|
||||||
<script src="/js/geo.js?v=1784966577"></script>
|
<script src="/js/geo.js?v=1784968398"></script>
|
||||||
<script src="/js/common.js?v=1784966577"></script>
|
<script src="/js/common.js?v=1784968398"></script>
|
||||||
{% end %}
|
{% end %}
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|||||||
@@ -284,7 +284,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/vendor/js/chart-4.4.9.umd.min.js"></script>
|
<script src="/vendor/js/chart-4.4.9.umd.min.js"></script>
|
||||||
<script src="/js/conditions.js?v=1784966577"></script>
|
<script src="/js/conditions.js?v=1784968398"></script>
|
||||||
<script>$(document).ready(function () {
|
<script>$(document).ready(function () {
|
||||||
$("#nav-link-conditions").addClass("active");
|
$("#nav-link-conditions").addClass("active");
|
||||||
}); <!-- highlight active page in nav --></script>
|
}); <!-- highlight active page in nav --></script>
|
||||||
|
|||||||
+2
-2
@@ -95,8 +95,8 @@
|
|||||||
<script>
|
<script>
|
||||||
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
|
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
|
||||||
</script>
|
</script>
|
||||||
<script src="/js/spotsbandsandmap.js?v=1784966578"></script>
|
<script src="/js/spotsbandsandmap.js?v=1784968398"></script>
|
||||||
<script src="/js/map.js?v=1784966578"></script>
|
<script src="/js/map.js?v=1784968398"></script>
|
||||||
<script>$(document).ready(function () {
|
<script>$(document).ready(function () {
|
||||||
$("#nav-link-map").addClass("active");
|
$("#nav-link-map").addClass("active");
|
||||||
}); <!-- highlight active page in nav --></script>
|
}); <!-- highlight active page in nav --></script>
|
||||||
|
|||||||
@@ -116,8 +116,8 @@
|
|||||||
<script>
|
<script>
|
||||||
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
|
let spotProvidersEnabledByDefault = {% raw json_encode(web_ui_options["spot-providers-enabled-by-default"]) %};
|
||||||
</script>
|
</script>
|
||||||
<script src="/js/spotsbandsandmap.js?v=1784966577"></script>
|
<script src="/js/spotsbandsandmap.js?v=1784968398"></script>
|
||||||
<script src="/js/spots.js?v=1784966577"></script>
|
<script src="/js/spots.js?v=1784968398"></script>
|
||||||
<script>$(document).ready(function () {
|
<script>$(document).ready(function () {
|
||||||
$("#nav-link-spots").addClass("active");
|
$("#nav-link-spots").addClass("active");
|
||||||
}); <!-- highlight active page in nav --></script>
|
}); <!-- highlight active page in nav --></script>
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/js/status.js?v=1784966577"></script>
|
<script src="/js/status.js?v=1784968398"></script>
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$("#nav-link-status").addClass("active");
|
$("#nav-link-status").addClass("active");
|
||||||
|
|||||||
Reference in New Issue
Block a user