diff --git a/parsers/FR.py b/parsers/FR.py index 62b331a091..36a3b9116e 100644 --- a/parsers/FR.py +++ b/parsers/FR.py @@ -4,6 +4,8 @@ import json import logging import os +import math + import pandas as pd import requests import xml.etree.ElementTree as ET @@ -27,6 +29,11 @@ 'pompage' ] +def is_not_nan_and_truthy(v): + if isinstance(v, float) and math.isnan(v): + return False + return bool(v) + def fetch_production(zone_key='FR', session=None, target_datetime=None, logger=logging.getLogger(__name__)): @@ -76,6 +83,11 @@ def fetch_production(zone_key='FR', session=None, target_datetime=None, 'hydro': row[1]['pompage'] * -1 + row[1]['hydraulique_step_turbinage'] * -1 } + # if all production values are null, ignore datapoint + if not any([is_not_nan_and_truthy(v) + for k, v in production.items()]): + continue + datapoints.append({ 'zoneKey': zone_key, 'datetime': arrow.get(row[1]['date_heure']).datetime,