def populate_tables(data_source, data_sink, **kwargs): """Create the DB and load it with the default pbeast data""" try: with db.transaction(): data = data_source() params = copy.copy(kwargs) params['stime'] = params['lumi'].stime params['etime'] = params['lumi'].etime del params['lumi'] params.update(data.get_properties()) resp = get_pbeast_data.get(**params) resp_json = json.loads(resp) resp_array = data.parse_input(resp_json) try: insert_rows = data.transform(resp_array) for ir in insert_rows: ir['run_lumi'] = kwargs['lumi'] data_sink.insert(ir).execute() except IntegrityError: logging.debug("Duplicated row, skippin'") except Exception as e: print(e)
def get_data(self, *args, **kwargs): logging.info("Retrieving data points from PBeast") try: self.pbeast_data = json.loads(get_pbeast_data.get(**self.parsed_params)) except Exception as e: