mirror of
https://git.ianrenton.com/ian/spothole.git
synced 2026-09-20 22:37:44 +00:00
Overnight bug fixes
This commit is contained in:
+22
-11
@@ -1,3 +1,4 @@
|
|||||||
|
import logging
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from typing import cast
|
from typing import cast
|
||||||
|
|
||||||
@@ -9,6 +10,8 @@ from data.alert import Alert
|
|||||||
from data.sig_ref import SIGRef
|
from data.sig_ref import SIGRef
|
||||||
from providers.alert.http_alert_provider import HTTPAlertProvider
|
from providers.alert.http_alert_provider import HTTPAlertProvider
|
||||||
|
|
||||||
|
logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class WOTA(HTTPAlertProvider):
|
class WOTA(HTTPAlertProvider):
|
||||||
"""Alert provider for Wainwrights on the Air"""
|
"""Alert provider for Wainwrights on the Air"""
|
||||||
@@ -34,22 +37,30 @@ class WOTA(HTTPAlertProvider):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
# Pick apart the title
|
# Pick apart the title
|
||||||
title_split = source_alert.title.split(" on ")
|
dx_call = None
|
||||||
dx_call = title_split[0]
|
|
||||||
ref = None
|
ref = None
|
||||||
ref_name = None
|
ref_name = None
|
||||||
if len(title_split) > 1:
|
try:
|
||||||
ref_split = title_split[1].split(" - ")
|
title_split = source_alert.title.split(" on ")
|
||||||
ref = str(ref_split[0])
|
dx_call = title_split[0]
|
||||||
if len(ref_split) > 1:
|
if len(title_split) > 1:
|
||||||
ref_name = str(ref_split[1])
|
ref_split = title_split[1].split(" - ")
|
||||||
|
ref = str(ref_split[0])
|
||||||
|
if len(ref_split) > 1:
|
||||||
|
ref_name = str(ref_split[1])
|
||||||
|
except Exception:
|
||||||
|
logger.warning(f"Could not parse WOTA alert title: {source_alert.description}")
|
||||||
|
|
||||||
# Pick apart the description
|
# Pick apart the description
|
||||||
desc_split = source_alert.description.split(". ")
|
|
||||||
freqs_modes = desc_split[0].replace("Frequencies/modes:", "").strip()
|
|
||||||
comment = None
|
comment = None
|
||||||
if len(desc_split) > 1:
|
freqs_modes = None
|
||||||
comment = desc_split[1].strip()
|
try:
|
||||||
|
desc_split = source_alert.description.split(". ")
|
||||||
|
freqs_modes = desc_split[0].replace("Frequencies/modes:", "").strip()
|
||||||
|
if len(desc_split) > 1:
|
||||||
|
comment = desc_split[1].strip()
|
||||||
|
except Exception:
|
||||||
|
logger.warning(f"Could not parse WOTA alert description: {source_alert.description}")
|
||||||
|
|
||||||
time = datetime.strptime(source_alert.pub_date.content, self.RSS_DATE_TIME_FORMAT).astimezone(pytz.UTC)
|
time = datetime.strptime(source_alert.pub_date.content, self.RSS_DATE_TIME_FORMAT).astimezone(pytz.UTC)
|
||||||
|
|
||||||
|
|||||||
+22
-19
@@ -39,36 +39,39 @@ class WOTA(HTTPSpotProvider):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
# Pick apart the title
|
# Pick apart the title
|
||||||
title_split = source_spot.title.split(" on ")
|
dx_call = None
|
||||||
dx_call = title_split[0]
|
|
||||||
ref = None
|
ref = None
|
||||||
ref_name = None
|
ref_name = None
|
||||||
if len(title_split) > 1:
|
try:
|
||||||
ref_split = title_split[1].split(" - ")
|
title_split = source_spot.title.split(" on ")
|
||||||
ref = str(ref_split[0])
|
dx_call = title_split[0]
|
||||||
if len(ref_split) > 1:
|
if len(title_split) > 1:
|
||||||
ref_name = str(ref_split[1])
|
ref_split = title_split[1].split(" - ")
|
||||||
|
ref = str(ref_split[0])
|
||||||
|
if len(ref_split) > 1:
|
||||||
|
ref_name = str(ref_split[1])
|
||||||
|
except Exception:
|
||||||
|
logger.warning(f"Could not parse WOTA spot title: {source_spot.title}")
|
||||||
|
|
||||||
# Pick apart the description
|
# Pick apart the description
|
||||||
desc_split = source_spot.description.split(". ")
|
|
||||||
freq_mode = desc_split[0].replace("Frequencies/modes:", "").strip()
|
|
||||||
freq_mode_split = re.split(r"[\-\s]+", freq_mode)
|
|
||||||
freq_hz = None
|
freq_hz = None
|
||||||
mode = None
|
mode = None
|
||||||
|
comment = None
|
||||||
|
spotter = None
|
||||||
try:
|
try:
|
||||||
|
desc_split = source_spot.description.split(". ")
|
||||||
|
freq_mode = desc_split[0].replace("Frequencies/modes:", "").strip()
|
||||||
|
freq_mode_split = re.split(r"[\-\s]+", freq_mode)
|
||||||
freq_hz = float(freq_mode_split[0].replace("'", ".")) * 1000000
|
freq_hz = float(freq_mode_split[0].replace("'", ".")) * 1000000
|
||||||
if len(freq_mode_split) > 1:
|
if len(freq_mode_split) > 1:
|
||||||
mode = freq_mode_split[1].upper()
|
mode = freq_mode_split[1].upper()
|
||||||
except ValueError:
|
|
||||||
# Something wrong with parsing frequency and mode, bail out
|
|
||||||
pass
|
|
||||||
|
|
||||||
comment = None
|
if len(desc_split) > 1:
|
||||||
if len(desc_split) > 1:
|
comment = desc_split[1].strip()
|
||||||
comment = desc_split[1].strip()
|
if len(desc_split) > 2:
|
||||||
spotter = None
|
spotter = desc_split[2].replace("Spotted by ", "").replace(".", "").upper().strip()
|
||||||
if len(desc_split) > 2:
|
except Exception:
|
||||||
spotter = desc_split[2].replace("Spotted by ", "").replace(".", "").upper().strip()
|
logger.warning(f"Could not parse WOTA spot description: {source_spot.description}")
|
||||||
|
|
||||||
time = datetime.strptime(source_spot.pub_date.content, self.RSS_DATE_TIME_FORMAT).astimezone(pytz.UTC)
|
time = datetime.strptime(source_spot.pub_date.content, self.RSS_DATE_TIME_FORMAT).astimezone(pytz.UTC)
|
||||||
|
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/static/js/add-spot.js?v=1786945291"></script>
|
<script src="/static/js/add-spot.js?v=1786945640"></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>
|
||||||
|
|||||||
@@ -84,7 +84,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/static/js/alerts.js?v=1786945292"></script>
|
<script src="/static/js/alerts.js?v=1786945640"></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>
|
||||||
|
|||||||
@@ -76,8 +76,8 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/static/js/spotsbandsandmap.js?v=1786945291"></script>
|
<script src="/static/js/spotsbandsandmap.js?v=1786945640"></script>
|
||||||
<script src="/static/js/bands.js?v=1786945291"></script>
|
<script src="/static/js/bands.js?v=1786945640"></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="/static/css/style.css?v=1786945291" type="text/css">
|
<link rel="stylesheet" href="/static/css/style.css?v=1786945640" type="text/css">
|
||||||
<link href="/static/vendor/css/bootstrap-5.3.8.min.css" rel="stylesheet">
|
<link href="/static/vendor/css/bootstrap-5.3.8.min.css" rel="stylesheet">
|
||||||
<link href="/static/vendor/css/fontawesome-6.7.2.min.css" rel="stylesheet">
|
<link href="/static/vendor/css/fontawesome-6.7.2.min.css" rel="stylesheet">
|
||||||
<link href="/static/vendor/css/solid-6.7.2.min.css" rel="stylesheet">
|
<link href="/static/vendor/css/solid-6.7.2.min.css" rel="stylesheet">
|
||||||
@@ -15,10 +15,10 @@
|
|||||||
window.fetchEventSource = fetchEventSource;
|
window.fetchEventSource = fetchEventSource;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<script src="/static/js/utils.js?v=1786945291"></script>
|
<script src="/static/js/utils.js?v=1786945640"></script>
|
||||||
<script src="/static/js/ui-ham.js?v=1786945291"></script>
|
<script src="/static/js/ui-ham.js?v=1786945640"></script>
|
||||||
<script src="/static/js/geo.js?v=1786945291"></script>
|
<script src="/static/js/geo.js?v=1786945640"></script>
|
||||||
<script src="/static/js/common.js?v=1786945291"></script>
|
<script src="/static/js/common.js?v=1786945640"></script>
|
||||||
{% end %}
|
{% end %}
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|||||||
@@ -284,7 +284,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/static/vendor/js/chart-4.4.9.umd.min.js"></script>
|
<script src="/static/vendor/js/chart-4.4.9.umd.min.js"></script>
|
||||||
<script src="/static/js/conditions.js?v=1786945291"></script>
|
<script src="/static/js/conditions.js?v=1786945640"></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
@@ -109,8 +109,8 @@
|
|||||||
<script src="/static/vendor/js/leaflet-cqzones.js"></script>
|
<script src="/static/vendor/js/leaflet-cqzones.js"></script>
|
||||||
<script src="/static/vendor/js/leaflet-workedallbritainireland.js" type="module"></script>
|
<script src="/static/vendor/js/leaflet-workedallbritainireland.js" type="module"></script>
|
||||||
|
|
||||||
<script src="/static/js/spotsbandsandmap.js?v=1786945292"></script>
|
<script src="/static/js/spotsbandsandmap.js?v=1786945640"></script>
|
||||||
<script src="/static/js/map.js?v=1786945292"></script>
|
<script src="/static/js/map.js?v=1786945640"></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>
|
||||||
|
|||||||
@@ -113,8 +113,8 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/static/js/spotsbandsandmap.js?v=1786945291"></script>
|
<script src="/static/js/spotsbandsandmap.js?v=1786945640"></script>
|
||||||
<script src="/static/js/spots.js?v=1786945291"></script>
|
<script src="/static/js/spots.js?v=1786945640"></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>
|
||||||
|
|||||||
@@ -86,7 +86,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="/static/js/status.js?v=1786945291"></script>
|
<script src="/static/js/status.js?v=1786945640"></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