Skip to content
Snippets Groups Projects
Select Git revision
  • 0fbfa42a0ee45f44b1346eac145aa26e24fc80f6
  • master default
  • v2.21.0
  • v2.20.1
  • v2.20.0
  • v2.19.0
  • v2.18.1
  • v2.18.0
  • v2.17.0
  • v2.16.0
  • v2.15.0
  • v2.14.0
  • v2.13.1
  • v2.13.0
  • v2.12.0
  • v2.11.0
  • v2.10.0
  • v2.9.0
  • v2.8.0
  • v2.7.0
  • v2.6.0
  • v2.5.0
22 results

Measurements.py

Blame
  • Sensors.py 1.71 KiB
    from enum import Enum
    
    from flask import Blueprint, jsonify
    
    from logic.Database import Database
    
    
    class SensorParameters(Enum):
        NAME = 'name'
        TYPE = 'type'
        VALUE = 'value'
    
        @staticmethod
        def get_values():
            return [m.value for m in SensorParameters]
    
    
    def construct_blueprint(settings):
        sensors = Blueprint('sensors', __name__)
    
        @sensors.route('/sensors', methods=['GET'])
        def get_all_sensors():
            database = Database(settings['database']['databasePath'])
            return jsonify(database.sensorAccess.get_all_sensors())
    
        @sensors.route('/sensor/<int:sensorID>', methods=['GET'])
        def get_sensor(sensorID):
            database = Database(settings['database']['databasePath'])
            return jsonify(database.sensorAccess.get_sensor(sensorID))
    
        @sensors.route('/sensor/<sensorID>/measurements', methods=['GET'])
        def get_all_measurements_for_sensor(sensorID):
            database = Database(settings['database']['databasePath'])
            sensor = database.sensorAccess.get_sensor(sensorID)
            if not sensor:
                return jsonify({'success': False, 'msg': f'No sensor with id "{sensorID}" existing'})
    
            return jsonify(database.measurementAccess.get_all_measurements_for_sensor(sensorID))
    
        @sensors.route('/sensor/<sensorID>/measurements/latest', methods=['GET'])
        def get_latest_measurements_for_sensor(sensorID):
            database = Database(settings['database']['databasePath'])
            sensor = database.sensorAccess.get_sensor(sensorID)
            if not sensor:
                return jsonify({'success': False, 'msg': f'No sensor with id "{sensorID}" existing'})
    
            return jsonify(database.measurementAccess.get_latest_measurements_for_sensor(sensorID))
    
        return sensors