def get_average_by_range(start, end): # init foundPressure = None foundHumidities = None foundCo2 = None foundTemperatures = None # Execution (4 connection, could be more efficient but query time is hardly an issue) foundPressure = RecentPressureModel.get_average_by_range(start, end) foundHumidities = RecentHumidityModel.get_average_by_range(start, end) foundCo2 = RecentCO2Model.get_average_by_range(start, end) foundTemperatures = RecentTemperatureModel.get_average_by_range( start, end) # Build object returnObj = RecentSensorModel(foundPressure, foundHumidities, foundCo2, foundTemperatures) # Clean and return return returnObj
def pressure_get_average_in_range(): logging.debug("Received request /recent/pressures/average/range") 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)) returnValue = RecentPressureModel.get_average_by_range(start,end) data = RecentPressureModel.average_json(returnValue) elapsedTime = time.monotonic() - startTime logging.debug("pressure get average by range all request time: " + str(round(elapsedTime,5))+ " seconds") return res(200, data=data, timeUTC=datetime.utcnow()) except mariadb.Error as e: abort(500, str(e))