Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
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))