diff --git a/providers/windspots.py b/providers/windspots.py index 38436c4..cea3375 100644 --- a/providers/windspots.py +++ b/providers/windspots.py @@ -18,7 +18,7 @@ def process_data(self): try: self.log.info("Processing WindsSpots data...") result = requests.get( - "https://api.windspots.com/windmobile/stationinfo", + "https://api.windspots.org/mobile/stationinfo", timeout=(self.connect_timeout, self.read_timeout), verify=False, ) @@ -26,14 +26,14 @@ def process_data(self): for windspots_station in result.json()["stationInfo"]: station_id = None try: - windspots_id = windspots_station["winId"][10:] + windspots_id = windspots_station["stationName"][10:] station = self.save_station( windspots_id, windspots_station["shortName"], - windspots_station["name"], - windspots_station["wgs84Latitude"], - windspots_station["wgs84Longitude"], - StationStatus(windspots_station["maintenanceStatus"]), + windspots_station["displayName"], + windspots_station["latitude"], + windspots_station["longitude"], + StationStatus(windspots_station["status"]), altitude=windspots_station["altitude"], ) station_id = station["_id"] @@ -41,7 +41,7 @@ def process_data(self): try: # Asking 2 days of data result = requests.get( - f"https://api.windspots.com/windmobile/stationdatas/windspots:{windspots_id}", + f"https://api.windspots.org/mobile/stationdata?station={windspots_id}", timeout=(self.connect_timeout, self.read_timeout), verify=False, ) @@ -51,13 +51,13 @@ def process_data(self): raise ProviderException("Action=Data return invalid json response") try: - key = arrow.get(windspots_measure["@lastUpdate"], "YYYY-M-DTHH:mm:ssZ").int_timestamp + key = arrow.get(windspots_measure["lastUpdate"], "YYYY-M-DTHH:mm:ssZ").int_timestamp except arrow.parser.ParserError: raise ProviderException( - f"Unable to parse measure date: '{windspots_measure['@lastUpdate']}" + f"Unable to parse measure date: '{windspots_measure['lastUpdate']}" ) - wind_direction_last = windspots_measure["windDirectionChart"]["serie"]["points"][0] + wind_direction_last = windspots_measure["windChart"]["serie"]["points"][0] wind_direction_key = int(wind_direction_last["date"]) // 1000 if arrow.get(key).minute != arrow.get(wind_direction_key).minute: key_time = arrow.get(key).to("local").format("YY-MM-DD HH:mm:ssZZ") @@ -74,10 +74,10 @@ def process_data(self): station, key, wind_direction_last["value"], - windspots_measure.get("windAverage"), - windspots_measure.get("windMax"), - temperature=windspots_measure.get("airTemperature"), - humidity=windspots_measure.get("airHumidity"), + windspots_measure.get("windChartAverage"), + windspots_measure.get("windChartMax"), + temperature=windspots_measure.get("temperature"), + humidity=windspots_measure.get("humidity"), ) self.insert_new_measures(measures_collection, station, [measure]) except ProviderException as e: