from . import poBaseURL from .po_station import PoStation from .urlreader import UrlReader class PoStationReader(UrlReader): def __init__(self): """ Initialisiert die Super-Klasse mit URL für die Stationen """ super().__init__(poBaseURL + 'stations.json') def get_stations(self): """ Fragt die Liste aller Stationen via UrlReader.get_json_response ab und macht PoStation daraus oder None im Fehlerfall :return: list[PoStation] | None """ print("PoStationReader::get_stations: Lade Stationen herunter...") stations_json = self.get_json_response() if stations_json is None or len(stations_json) == 0: # Keine Stationen erhalten → Abbruch print("PoStationReader::get_stations: Keine Stationen erhalten") return None stations = [] for station_json in stations_json: try: # Versuche eine Station zu erstellen stations.append(PoStation(station_json)) except Exception as e: # Fehler → Überspringe diese Station print("PoStationReader::get_stations: Fehler: error=%s, json=%s" % (e, station_json)) print("PoStationReader::get_stations: %d Stationen erhalten" % (len(stations),)) return stations