diff --git a/pkgs/meteocat-exporter/meteocat-exporter b/pkgs/meteocat-exporter/meteocat-exporter index e763714b..acc9f3e3 100644 --- a/pkgs/meteocat-exporter/meteocat-exporter +++ b/pkgs/meteocat-exporter/meteocat-exporter @@ -8,7 +8,7 @@ from urllib import request # Configuration ------------------------------------------- meteo_station = "X8" # Barcelona - Zona Universitària listening_port = 9929 -update_period = 60 * 10 # Each 10 min +update_period = 60 * 5 # Each 5 min # --------------------------------------------------------- metric_tmin = Gauge('meteocat_temp_min', 'Min temperature') @@ -17,7 +17,7 @@ metric_tavg = Gauge('meteocat_temp_avg', 'Average temperature') metric_srad = Gauge('meteocat_solar_radiation', 'Solar radiation') def update(st): - url = 'http://www.meteo.cat/observacions/xema/dades?codi=' + st + url = 'https://www.meteo.cat/observacions/xema/dades?codi=' + st response = request.urlopen(url) data = response.read() soup = BeautifulSoup(data, 'lxml') @@ -36,11 +36,19 @@ def update(st): metric_tmax.set(float(row_data[2])) metric_tmin.set(float(row_data[3])) metric_srad.set(float(row_data[10])) + #print("ok: temp_avg={}".format(float(row_data[1]))) except: - pass + print("cannot parse row: {}".format(row)) + metric_tavg.set(float("nan")) + metric_tmax.set(float("nan")) + metric_tmin.set(float("nan")) + metric_srad.set(float("nan")) if __name__ == '__main__': start_http_server(port=listening_port, addr="localhost") while True: - update(meteo_station) + try: + update(meteo_station) + except: + print("update failed") time.sleep(update_period)