import time
import configparser
import os
+from sqlalchemy import create_engine
app = Flask(__name__)
config = configparser.ConfigParser()
config.read(os.environ['SEEPARKINI'])
-apikey = config.get('openweathermap', 'apikey');
+apikey = config.get('openweathermap', 'apikey')
+
+
+def open_engine(config):
+ user = config.get('database', 'user')
+ pwd = config.get('database', 'password')
+ host = config.get('database', 'hostname')
+ db = config.get('database', 'database')
+ engine = create_engine('mysql+mysqldb://{}:{}@{}/{}'.format(user, pwd, host, db), echo=False)
+ return engine
+
+
+@app.route('/api/<version>/sensors')
+def sensors(version):
+ """List all sensors found in the database"""
+ engine = open_engine(config)
+ with engine.connect() as conn:
+ cursor = conn.execute('select distinct sensor_id, sensor_name, value_type from sensors')
+ result = [dict(row) for row in cursor]
+ return jsonify(result)
+
@app.route('/data/', defaults={'timespan': 1})
@app.route("/data/<int:timespan>", methods=['GET'])
def data(timespan):
-
granularity = 5 * timespan # (every) minute(s) per day
samples = 60/granularity * 24 * timespan # per hour over whole timespan
s4m = []