def insights_forecast(): from airqo_etl_utils.app_insights_utils import ( create_insights_data, get_forecast_data, transform_old_forecast, ) from airqo_etl_utils.date import date_to_str, first_day_of_week, first_day_of_month now = datetime.now() start_date_time = date_to_str( first_day_of_week(first_day_of_month(date_time=now))) end_date_time = date_to_str(now) old_forecast = transform_old_forecast(start_date_time=start_date_time, end_date_time=end_date_time) pd.DataFrame(old_forecast).to_csv(path_or_buf="old_forecast_data.csv", index=False) forecast_data = get_forecast_data("airqo") pd.DataFrame(forecast_data).to_csv(path_or_buf="forecast_data.csv", index=False) insights_data = create_insights_data(data=forecast_data) pd.DataFrame(insights_data).to_csv( path_or_buf="insights_forecast_data.csv", index=False)
def load(data: dict): from airqo_etl_utils.app_insights_utils import ( save_insights_data, create_insights_data, ) from airqo_etl_utils.commons import un_fill_nan insights_list = un_fill_nan(data.get("data")) insights_data = create_insights_data(data=insights_list) save_insights_data(insights_data=insights_data, action="save")
def extract_api_forecast_data(): from airqo_etl_utils.app_insights_utils import ( create_insights_data, get_forecast_data, ) from airqo_etl_utils.commons import fill_nan forecast_data = get_forecast_data("airqo") insights_data = create_insights_data(data=forecast_data) return dict({"data": fill_nan(data=insights_data)})
def extract_airqo_data(**kwargs): from airqo_etl_utils.app_insights_utils import ( create_insights_data, get_airqo_data, ) from airqo_etl_utils.commons import get_date_time_values start_time, end_time = get_date_time_values(**kwargs) measurements_data = get_airqo_data(freq="hourly", start_time=start_time, end_time=end_time) insights_data = create_insights_data(data=measurements_data) return {"data": insights_data}
def extract_insights_forecast_data(): from airqo_etl_utils.app_insights_utils import ( create_insights_data, transform_old_forecast, ) from airqo_etl_utils.date import ( date_to_str, first_day_of_week, first_day_of_month, ) from airqo_etl_utils.commons import fill_nan now = datetime.now() start_date_time = date_to_str( first_day_of_week(first_day_of_month(date_time=now))) end_date_time = date_to_str(now) forecast_data = transform_old_forecast(start_date_time=start_date_time, end_date_time=end_date_time) insights_data = create_insights_data(data=forecast_data) return dict({"data": fill_nan(data=insights_data)})