from pyhamtools.locator import locator_to_latlong from data.sig_ref import SIGRef from sigrefdataproviders.file_download_sig_ref_data_provider import FileDownloadSIGRefDataProvider class LLOTA(FileDownloadSIGRefDataProvider): """SIG ref data provider for Lagos y Lagunas on the Air""" POLL_INTERVAL_SEC = 7 * 24 * 60 * 60 # 7 days SIG = "LLOTA" DATA_URL = "https://llota.app/api/public/references" def __init__(self, provider_config): super().__init__(self.SIG, provider_config, self.DATA_URL, self.POLL_INTERVAL_SEC) def _http_response_to_data(self, http_response): new_data = {} data = http_response.json() if isinstance(data, list): for ref in data: ref_id = ref["reference_code"] grid = str(ref["grid_locator"]) ll = locator_to_latlong(grid) new_data[ref_id] = SIGRef(sig=self.SIG, id=ref_id, name=str(ref["name"]), url="https://llota.app/list/ref/" + ref_id, grid=grid, latitude=ll[0], longitude=ll[1]) return new_data