#!/usr/bin/python3 from flask import request from flask_api import FlaskAPI import RPi.GPIO as GPIO from xml_reader import Xml_reader from interface_handler import Interface_handler xml_reader = Xml_reader('XML/config.xml','XML/config.xsd') interface_handler = Interface_handler(xml_reader) device_names = xml_reader.get_device_names() app = FlaskAPI(__name__) @app.route('/', methods=["GET"]) def api_root(): return { "device_url": request.url + "device/", "device_url_POST": {"output": ""} } @app.route('/device//', methods=["GET", "POST"]) def api_leds_control(device_name): try: if request.method == "POST": response = interface_handler.write(device_name,request.data.get("output")) return {'output': response} return {'state': interface_handler.read(device_name)} except Exception as e: return {'error': str(e)} if __name__ == "__main__": app.run(port=8080,host="0.0.0.0")