Refactor activity names to use an enum instead of a string to avoid typos #147

This commit is contained in:
Ian Renton
2026-09-18 18:09:41 +01:00
parent ab79e7e01c
commit e5caf7353d
61 changed files with 735 additions and 638 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
import csv
from time import sleep
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -12,7 +12,7 @@ class ARLHS(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Amateur Radio Light House Society"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "ARLHS"
ACTIVITY = ActivityName.ARLHS
DATA_URL = "https://www.gma.rocks/download/lighthouse.csv"
def __init__(self, provider_config):
+2 -2
View File
@@ -2,7 +2,7 @@ from time import sleep
from pyhamtools.locator import latlong_to_locator
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import FileDownloadActivityRefDataProvider
@@ -11,7 +11,7 @@ class COTA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Castles on the Air"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "COTA"
ACTIVITY = ActivityName.COTA
DATA_URL = "https://www.cotagroup.org/cotagroup/map/data/castles-all-7d90ee2a5e1175e5dece1bbf9dc87504.json"
def __init__(self, provider_config):
+2 -2
View File
@@ -3,7 +3,7 @@ from time import sleep
import pandas as pd
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import FileDownloadActivityRefDataProvider
@@ -12,7 +12,7 @@ class DCE(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Diploma Castillos de España"""
POLL_INTERVAL_DAYS = 365
ACTIVITY = "DCE"
ACTIVITY = ActivityName.DCE
DATA_URL = "https://www.acracb.org/dce/descargas/General/directorio_referencias_dce.xls"
def __init__(self, provider_config):
+2 -2
View File
@@ -3,7 +3,7 @@ from time import sleep
import pandas as pd
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import FileDownloadActivityRefDataProvider
@@ -12,7 +12,7 @@ class DEFE(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Diploma Estationes de Ferrocarril de España"""
POLL_INTERVAL_DAYS = 365
ACTIVITY = "DEFE"
ACTIVITY = ActivityName.DEFE
DATA_URL = "https://www.acracb.org/defe/descargas/General/directorio_referencias_defe.xls"
def __init__(self, provider_config):
+2 -2
View File
@@ -3,7 +3,7 @@ from time import sleep
from pyhamtools.locator import latlong_to_locator
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.local_file_activity_ref_data_provider import (
LocalFileActivityRefDataProvider,
@@ -13,7 +13,7 @@ from providers.activityrefdata.local_file_activity_ref_data_provider import (
class DME(LocalFileActivityRefDataProvider):
"""Activity ref data provider for Diploma Municipios de Espana"""
ACTIVITY = "DME"
ACTIVITY = ActivityName.DME
PATH = "datafiles/MUNICIPIOS.csv"
def __init__(self, provider_config):
+2 -2
View File
@@ -1,7 +1,7 @@
import csv
from time import sleep
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import FileDownloadActivityRefDataProvider
@@ -10,7 +10,7 @@ class DMUE(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Diploma Museos de España"""
POLL_INTERVAL_DAYS = 365
ACTIVITY = "DMUE"
ACTIVITY = ActivityName.DMUE
DATA_URL = "https://dmue.radiogalena.es/nom_dmue.csv"
def __init__(self, provider_config):
+2 -2
View File
@@ -3,7 +3,7 @@ from time import sleep
import pandas as pd
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import FileDownloadActivityRefDataProvider
@@ -12,7 +12,7 @@ class DMVE(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Diploma Monumentos y Vestigios de España"""
POLL_INTERVAL_DAYS = 365
ACTIVITY = "DMVE"
ACTIVITY = ActivityName.DMVE
DATA_URL = "https://www.acracb.org/dmve/descargas/General/directorio_referencias_dmve.xls"
def __init__(self, provider_config):
+2 -2
View File
@@ -1,6 +1,6 @@
from time import sleep
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import FileDownloadActivityRefDataProvider
@@ -9,7 +9,7 @@ class DTMBA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Diploma Teatri Musei Belle Arti"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "DTMBA"
ACTIVITY = ActivityName.DTMBA
DATA_URL = "https://www.iu1fig.com/share/iz0eik/dtmba/export.php"
def __init__(self, provider_config):
+2 -2
View File
@@ -3,7 +3,7 @@ from time import sleep
import pdfplumber
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import FileDownloadActivityRefDataProvider
@@ -12,7 +12,7 @@ class FEA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Diploma Faros de España"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "FEA"
ACTIVITY = ActivityName.FEA
DATA_URL = "http://ea5ol.net/Lista%20Faros.pdf"
def __init__(self, provider_config):
@@ -22,7 +22,7 @@ class FileDownloadActivityRefDataProvider(ActivityRefDataProvider):
self._url = url
self._poll_interval = poll_interval
self._thread = None
self._url_data_cache = URLDataCache(f"sigrefdata_{sig_name}") # cache dir name kept for continuity
self._url_data_cache = URLDataCache(f"activity_ref_data_{sig_name}")
def start(self):
# Fire off the polling thread. It will poll immediately on startup, then sleep for poll_interval between
+2 -2
View File
@@ -1,7 +1,7 @@
import csv
from time import sleep
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -12,7 +12,7 @@ class GMA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Global Mountain Activity"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "GMA"
ACTIVITY = ActivityName.GMA
DATA_URL = "https://www.gma.rocks/download/summits.csv"
def __init__(self, provider_config):
+2 -2
View File
@@ -1,7 +1,7 @@
import csv
from time import sleep
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -12,7 +12,7 @@ class ILLW(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for International Lighthouse & Lightship Weekend"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "ILLW"
ACTIVITY = ActivityName.ILLW
DATA_URL = "https://www.gma.rocks/download/lighthouse.csv"
def __init__(self, provider_config):
+2 -2
View File
@@ -3,7 +3,7 @@ from time import sleep
from pyhamtools.locator import latlong_to_locator
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -16,7 +16,7 @@ class IOTA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Islands on the Air"""
POLL_INTERVAL_DAYS = 365
ACTIVITY = "IOTA"
ACTIVITY = ActivityName.IOTA
DATA_URL = "https://www.iota-world.org/islands-on-the-air/downloads/download-file.html?path=groups.json"
def __init__(self, provider_config):
+2 -1
View File
@@ -1,3 +1,4 @@
from core.enums import ActivityName
from providers.activityrefdata.pnp_kml_activity_ref_data_provider import (
ParksNPeaksKMLActivityRefDataProvider,
)
@@ -7,7 +8,7 @@ class KRMNPA(ParksNPeaksKMLActivityRefDataProvider):
"""Activity ref data provider for the Keith Roget Memorrial National Parks Award (KRMNPA)."""
POLL_INTERVAL_DAYS = 365
ACTIVITY = "KRMNPA"
ACTIVITY = ActivityName.KRMNPA
DATA_URL = "https://parksnpeaks.org/getPOI.php?poiClass=KRMNPA&poiFormat=4"
def __init__(self, provider_config):
+2 -2
View File
@@ -2,7 +2,7 @@ from time import sleep
from pyhamtools.locator import locator_to_latlong
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -13,7 +13,7 @@ class LLOTA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Lagos y Lagunas on the Air"""
POLL_INTERVAL_DAYS = 7
ACTIVITY = "LLOTA"
ACTIVITY = ActivityName.LLOTA
DATA_URL = "https://llota.app/api/public/references"
def __init__(self, provider_config):
+2 -2
View File
@@ -1,7 +1,7 @@
import csv
from time import sleep
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -12,7 +12,7 @@ class MOTA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Mills on the Air"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "MOTA"
ACTIVITY = ActivityName.MOTA
DATA_URL = "https://www.gma.rocks/download/mills.csv"
def __init__(self, provider_config):
+2 -2
View File
@@ -2,7 +2,7 @@ from time import sleep
from bs4 import BeautifulSoup
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import FileDownloadActivityRefDataProvider
@@ -11,7 +11,7 @@ class PGA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Polish Gmina Award"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "PGA"
ACTIVITY = ActivityName.PGA
DATA_URL = "http://www.spga.pl/lista_pga2.php"
def __init__(self, provider_config):
+2 -2
View File
@@ -1,7 +1,7 @@
import csv
from time import sleep
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -12,7 +12,7 @@ class POTA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Parks on the Air"""
POLL_INTERVAL_DAYS = 7
ACTIVITY = "POTA"
ACTIVITY = ActivityName.POTA
DATA_URL = "https://pota.app/all_parks_ext.csv"
def __init__(self, provider_config):
+2 -1
View File
@@ -1,3 +1,4 @@
from core.enums import ActivityName
from providers.activityrefdata.pnp_kml_activity_ref_data_provider import (
ParksNPeaksKMLActivityRefDataProvider,
)
@@ -7,7 +8,7 @@ class SANPCPA(ParksNPeaksKMLActivityRefDataProvider):
"""Activity ref data provider for the South Australia National Parks and Conservation Parks Award (SANPCPA)."""
POLL_INTERVAL_DAYS = 365
ACTIVITY = "SANPCPA"
ACTIVITY = ActivityName.SANPCPA
DATA_URL = "https://parksnpeaks.org/getPOI.php?poiClass=SANPCPA&poiFormat=4"
def __init__(self, provider_config):
+2 -2
View File
@@ -1,7 +1,7 @@
import csv
from time import sleep
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -12,7 +12,7 @@ class SIOTA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Silos on the Air"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "SIOTA"
ACTIVITY = ActivityName.SIOTA
DATA_URL = "https://www.silosontheair.com/data/silos.csv"
def __init__(self, provider_config):
+2 -2
View File
@@ -3,7 +3,7 @@ from time import sleep
from pyhamtools.locator import latlong_to_locator
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -14,7 +14,7 @@ class SOTA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Summits on the Air"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "SOTA"
ACTIVITY = ActivityName.SOTA
DATA_URL = "https://storage.sota.org.uk/summitslist.csv"
def __init__(self, provider_config):
+2 -2
View File
@@ -1,6 +1,6 @@
import csv
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.local_file_activity_ref_data_provider import (
LocalFileActivityRefDataProvider,
@@ -10,7 +10,7 @@ from providers.activityrefdata.local_file_activity_ref_data_provider import (
class Toilets(LocalFileActivityRefDataProvider):
"""Activity ref data provider for Toilets on the Air"""
ACTIVITY = "Toilets"
ACTIVITY = ActivityName.TOILETS
PATH = "datafiles/toilets.csv"
def __init__(self, provider_config):
+2 -2
View File
@@ -1,7 +1,7 @@
import csv
from time import sleep
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -12,7 +12,7 @@ class Towers(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Towers on the Air"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "Towers"
ACTIVITY = ActivityName.TOWERS
DATA_URL = "https://wwtota.com/servis/generate_csv.php?ref=&filter=all"
def __init__(self, provider_config):
+2 -2
View File
@@ -4,7 +4,7 @@ from time import sleep
from pyhamtools.locator import latlong_to_locator
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -17,7 +17,7 @@ class WCA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for World Castles Award"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "WCA"
ACTIVITY = ActivityName.WCA
DATA_URL = "https://polo.ham2k.com/data/activities/wca/all-castles.csv"
def __init__(self, provider_config):
+2 -2
View File
@@ -1,6 +1,6 @@
from time import sleep
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -11,7 +11,7 @@ class WOTA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Wainwrights on the Air"""
POLL_INTERVAL_DAYS = 365
ACTIVITY = "WOTA"
ACTIVITY = ActivityName.WOTA
DATA_URL = "https://www.wota.org.uk/mapping/data/summits.json"
def __init__(self, provider_config):
+2 -2
View File
@@ -1,7 +1,7 @@
import csv
from time import sleep
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -12,7 +12,7 @@ class WWBOTA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Worldwide Bunkers on the Air"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "WWBOTA"
ACTIVITY = ActivityName.WWBOTA
DATA_URL = "https://api.wwbota.org/bunkers/?format=CSV"
def __init__(self, provider_config):
+2 -2
View File
@@ -1,7 +1,7 @@
import csv
from time import sleep
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -12,7 +12,7 @@ class WWFF(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for Worldwide Flora & Fauna"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "WWFF"
ACTIVITY = ActivityName.WWFF
DATA_URL = "https://wwff.co/wwff-data/wwff_directory.csv"
def __init__(self, provider_config):
+2 -2
View File
@@ -2,7 +2,7 @@ from time import sleep
from pyhamtools.locator import latlong_to_locator
from core.enums import ActivityRefType
from core.enums import ActivityName, ActivityRefType
from data.activity_ref import ActivityRef
from providers.activityrefdata.file_download_activity_ref_data_provider import (
FileDownloadActivityRefDataProvider,
@@ -13,7 +13,7 @@ class ZLOTA(FileDownloadActivityRefDataProvider):
"""Activity ref data provider for New Zealand on the Air"""
POLL_INTERVAL_DAYS = 30
ACTIVITY = "ZLOTA"
ACTIVITY = ActivityName.ZLOTA
DATA_URL = "https://ontheair.nz/assets/assets.json"
def __init__(self, provider_config):