예제 #1
0
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
예제 #2
0
        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)