Now that SIGs are rebranded as Activities, we can merge DXpedition and Contest into that without it being too weird, and get rid of AlertType #147

This commit is contained in:
Ian Renton
2026-09-18 16:50:00 +01:00
parent bf9b4ac68c
commit cea90695ba
21 changed files with 92 additions and 113 deletions
+1 -2
View File
@@ -3,7 +3,6 @@ from datetime import datetime, timedelta
import pytz
from bs4 import BeautifulSoup
from core.enums import AlertType
from data.activity_ref import ActivityRef
from data.alert import Alert
from providers.alert.http_alert_provider import HTTPAlertProvider
@@ -56,9 +55,9 @@ class BOTA(HTTPAlertProvider):
alert = Alert(
source=self.name,
dx_calls=[dx_call],
sig="BOTA",
sig_refs=[ActivityRef(id=ref_name, sig="BOTA")],
start_time=date_time.timestamp(),
alert_type=AlertType.XOTA,
)
new_alerts.append(alert)
+2 -3
View File
@@ -2,7 +2,6 @@ from datetime import datetime
import pytz
from core.enums import AlertType
from data.activity_ref import ActivityRef
from data.alert import Alert
from providers.alert.http_alert_provider import HTTPAlertProvider
@@ -35,10 +34,11 @@ class Hamsat(HTTPAlertProvider):
dx_calls=[source_alert["callsign"].upper()],
freqs_modes=freqs_modes,
comment=source_alert["comment"],
sig="Satellite",
# Fudge an activity ref to provide the remaining bits of data we need: the satellite and the operator's grid
sig_refs=[
ActivityRef(
sig="AMSAT",
sig="Satellite",
id=f"{source_alert['satellite']['name']} from {source_alert['grids'][0]}",
)
],
@@ -48,7 +48,6 @@ class Hamsat(HTTPAlertProvider):
end_time=datetime.strptime(source_alert["los_at"], "%Y-%m-%dT%H:%M:%SZ")
.replace(tzinfo=pytz.UTC)
.timestamp(),
alert_type=AlertType.SATELLITE,
)
# Add to our list
+1 -2
View File
@@ -6,7 +6,6 @@ import pytz
from rss_parser import Parser
from rss_parser.models.rss import RSS
from core.enums import AlertType
from data.alert import Alert
from providers.alert.http_alert_provider import HTTPAlertProvider
@@ -89,7 +88,7 @@ class NG3K(HTTPAlertProvider):
comment=f"{by}; {comment}; {qsl_info}",
start_time=start_timestamp,
end_time=end_timestamp,
alert_type=AlertType.DXPEDITION,
sig="DXpedition",
)
# Add to our list.
+1 -2
View File
@@ -3,7 +3,6 @@ from datetime import datetime
import pytz
from core.enums import AlertType
from data.activity_ref import ActivityRef
from data.alert import Alert
from providers.alert.http_alert_provider import HTTPAlertProvider
@@ -50,9 +49,9 @@ class ParksNPeaks(HTTPAlertProvider):
dx_calls=[source_alert["CallSign"].upper()],
freqs_modes=f"{source_alert['Freq']} {source_alert['MODE']}",
comment=source_alert["Comments"],
sig=activity,
sig_refs=activity_refs,
start_time=start_time,
alert_type=AlertType.XOTA,
)
# Log a warning for the developer if PnP gives us an unknown programme we've never seen before
+1 -2
View File
@@ -2,7 +2,6 @@ from datetime import datetime
import pytz
from core.enums import AlertType
from data.activity_ref import ActivityRef
from data.alert import Alert
from providers.alert.http_alert_provider import HTTPAlertProvider
@@ -28,6 +27,7 @@ class POTA(HTTPAlertProvider):
dx_calls=[source_alert["activator"].upper()],
freqs_modes=source_alert["frequencies"],
comment=source_alert["comments"],
sig="POTA",
sig_refs=[
ActivityRef(
id=source_alert["reference"],
@@ -45,7 +45,6 @@ class POTA(HTTPAlertProvider):
end_time=datetime.strptime(source_alert["endDate"] + source_alert["endTime"], "%Y-%m-%d%H:%M")
.replace(tzinfo=pytz.UTC)
.timestamp(),
alert_type=AlertType.XOTA,
)
# Add to our list, but exclude any old spots that POTA can sometimes give us where even the end time is
+2 -2
View File
@@ -2,7 +2,7 @@ import re
from icalendar import Event
from core.enums import AlertType, Continent
from core.enums import Continent
from data.alert import Alert
from providers.alert.ical_alert_provider import ICALAlertProvider
@@ -69,7 +69,7 @@ class RSGBICALAlertProvider(ICALAlertProvider):
comment=summary,
start_time=start_timestamp,
end_time=end_timestamp,
alert_type=AlertType.CONTEST,
sig="Contest",
)
return alert
+1 -2
View File
@@ -2,7 +2,6 @@ from datetime import datetime
import pytz
from core.enums import AlertType
from data.activity_ref import ActivityRef
from data.alert import Alert
from providers.alert.http_alert_provider import HTTPAlertProvider
@@ -34,6 +33,7 @@ class SOTA(HTTPAlertProvider):
dx_names=[source_alert["activatorName"].upper()],
freqs_modes=source_alert["frequency"],
comment=source_alert["comments"],
sig="SOTA",
sig_refs=[
ActivityRef(
id=f"{source_alert['associationCode']}/{source_alert['summitCode']}",
@@ -45,7 +45,6 @@ class SOTA(HTTPAlertProvider):
start_time=datetime.strptime(source_alert["dateActivated"], "%Y-%m-%dT%H:%M:%SZ")
.replace(tzinfo=pytz.UTC)
.timestamp(),
alert_type=AlertType.XOTA,
)
# Add to our list
+1 -2
View File
@@ -1,6 +1,5 @@
from icalendar import Event
from core.enums import AlertType
from data.alert import Alert
from providers.alert.ical_alert_provider import ICALAlertProvider
@@ -35,7 +34,7 @@ class WA7BNM(ICALAlertProvider):
url=url,
start_time=start_timestamp,
end_time=end_timestamp,
alert_type=AlertType.CONTEST,
sig="Contest",
)
return alert
+1 -2
View File
@@ -2,7 +2,6 @@ from datetime import datetime
import pytz
from core.enums import AlertType
from data.activity_ref import ActivityRef
from data.alert import Alert
from providers.alert.http_alert_provider import HTTPAlertProvider
@@ -28,6 +27,7 @@ class WWFF(HTTPAlertProvider):
dx_calls=[source_alert["activator_call"].upper()],
freqs_modes=f"{source_alert['band']} {source_alert['mode']}",
comment=source_alert["remarks"],
sig="WWFF",
sig_refs=[ActivityRef(id=source_alert["reference"], sig="WWFF")],
start_time=datetime.strptime(source_alert["utc_start"], "%Y-%m-%d %H:%M:%S")
.replace(tzinfo=pytz.UTC)
@@ -35,7 +35,6 @@ class WWFF(HTTPAlertProvider):
end_time=datetime.strptime(source_alert["utc_end"], "%Y-%m-%d %H:%M:%S")
.replace(tzinfo=pytz.UTC)
.timestamp(),
alert_type=AlertType.XOTA,
)
# Add to our list