Esempio 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 effecient but query time is hardly an issue)
        foundPressure = PressureModel.get_average_by_range(start, end)
        foundHumidities = HumidityModel.get_average_by_range(start, end)
        foundCo2 = CO2Model.get_average_by_range(start, end)
        foundTemperatures = TemperatureModel.get_average_by_range(start, end)

        # Build object
        returnObj = SensorModel(foundPressure, foundHumidities, foundCo2,
                                foundTemperatures)

        # Clean and return
        return returnObj
Esempio n. 2
0
def co2_get_average_in_range():
    logging.debug("Received request /co2/average/range")
    startTime = time.monotonic()
    try:
        start = req.args.get('start')
        if start is None:
            start = '2020-01-01T00:00:00'

        end = req.args.get('end')
        if end is None:
            end = datetime.utcnow()

        returnValue = CO2Model.get_average_by_range(start, end)
        data = CO2Model.average_json(returnValue)
        elapsedTime = time.monotonic() - startTime
        logging.debug("co2 get average by range request time: " +
                      str(round(elapsedTime, 5)) + " seconds")
        return res(200, data=data, timeUTC=datetime.utcnow())
    except mariadb.Error as e:
        abort(500, str(e))