def historic_co2_get_by_search(): logging.debug("Received request /historic/co2/search") startTime = time.monotonic() try: start = req.args.get('start') if start is None: start = '2020-01-01T00:00:00' logging.debug("Start arg is: " + str(start)) end = req.args.get('end') if end is None: end = datetime.utcnow() logging.debug("End arg is: " + str(end)) dataArray = [] co2Array = HistoricCO2Model.get_by_search(start, end) for tempModel in co2Array: dataArray.append(tempModel.to_json()) elapsedTime = time.monotonic() - startTime logging.debug("co2 get by search request time: " + str(round(elapsedTime, 5)) + " seconds") return res(200, data=dataArray, timeUTC=datetime.utcnow()) except mariadb.Error as e: logging.exception(e) abort(500, str(e))
def get_by_search(start, end): # init foundPressure = [] foundHumidities = [] foundCo2 = [] foundTemperatures = [] # Execution (4 connection, could be more efficient but query time is hardly an issue) foundPressure = HistoricPressureModel.get_by_search(start, end) foundHumidities = HistoricHumidityModel.get_by_search(start, end) foundCo2 = HistoricCO2Model.get_by_search(start, end) foundTemperatures = HistoricTemperatureModel.get_by_search(start, end) # Build object returnObj = HistoricSensorModel( foundPressure, foundHumidities, foundCo2, foundTemperatures) # Clean and return return returnObj