class Pusher: def __init__(self, session_creator): self.tms_operator = Timeseries(session_creator) def push_timeseries(self, meta_data, tms, force=False): tms_id = self.tms_operator.get_timeseries_id(meta_data) if tms_id is None: raise NoTimeseriesFound( 'No timeseries id found for the given meta data', meta_data) return self.tms_operator.update_timeseries(tms_id, tms, force) def push_collection(self, meta_dic): # TODO pass
tmss = separate_rainfall_for_event_types(today, rainfall_df_inst) for tms in tmss: TMS_META['event_type'] = tms['event_type'] tms_id = tms_adapter.get_timeseries_id(TMS_META) if tms_id is None: tms_id = tms_adapter.create_timeseries_id( run_name=TMS_META['run_name'], station={ 'name': station['name_in_db'], 'id': station['id_in_db'] }, event_type={ 'name': tms['event_type'], 'id': tms['event_type_id_in_db'] }, source={ 'name': wrf_model['name_in_db'], 'id': wrf_model['id_in_db'] }, variable={ 'name': TMS_META['variable'], 'id': TMS_META['variable_id'] }, unit={ 'name': TMS_META['unit'], 'id': TMS_META['unit_id'] }) tms_adapter.update_timeseries(tms_id, tms['rainfall'], True) print("Pushed data to tms_id: %s" % tms_id)