from . import poBaseURL from .urlreader import UrlReader class PoStations(UrlReader): def __init__(self): super().__init__(poBaseURL + 'stations.json') def getStations(self): print("getStations: Getting data...") stations_json = self.getJsonResponse() if stations_json is None or len(stations_json) == 0: print("getStations: Keine Stationen erhalten") return None print("getStations: %d Stationen erhalten" % (len(stations_json),)) stations = [] for station_json in stations_json: if 'longitude' not in station_json or 'latitude' not in station_json: print("getStations: WARN: Station hat fehlende Koordinaten: %s" % (station_json['longname'],)) continue if 'km' not in station_json: print("getStations: WARN: Station hat fehlende km: %s" % (station_json['longname'],)) continue stations.append( { 'geometry': { 'longitude': station_json['longitude'], 'latitude': station_json['latitude'], }, 'attributes': { 'uuid': station_json['uuid'], 'number': station_json['number'], 'shortname': station_json['shortname'], 'longname': station_json['longname'], 'km': station_json['km'], 'agency': station_json['agency'], 'water': station_json['water']['longname'], }, } ) print("getStations: %d / %d Stationen überführt" % (len(stations), len(stations_json))) return stations