from flask import Flask, render_template, abort app = Flask(__name__) EQUIPMENTS = [ {"id": 1, "hostname": "srv-web-main-01", "type": "server", "active": True}, {"id": 2, "hostname": "sw-access-01", "type": "switch", "active": True}, {"id": 3, "hostname": "srv-api-01", "type": "server", "active": True}, {"id": 4, "hostname": "waf-front-01", "type": "waf", "active": True}, {"id": 5, "hostname": "individual-alice-01", "type": "instance", "active": True}, {"id": 6, "hostname": "sw-access-02", "type": "switch", "active": False}, {"id": 7, "hostname": "individual-bob-01", "type": "instance", "active": False}, {"id": 8, "hostname": "srv-web-replica-01", "type": "server", "active": True}, ] USERNAME = "administratort" @app.route('/') def index(): return render_template('index.html', username=USERNAME, equipments=EQUIPMENTS) @app.route('/actives') def actives(): ACTIVE_EQUIPMENTS = [e for e in EQUIPMENTS if e["active"]] return render_template('actives.html', username=USERNAME, equipments=ACTIVE_EQUIPMENTS) @app.route('/list') def details(): return render_template('list.html', username=USERNAME, equipments=EQUIPMENTS) @app.route("/details/") def equipment_detail(equipment_id): equipment = next((e for e in EQUIPMENTS if e["id"] == equipment_id), None) return render_template( "details.html", username=USERNAME, equipment=equipment, ) @app.route("/stats") def stats(): total = len(EQUIPMENTS) active = sum(1 for e in EQUIPMENTS if e["active"]) inactive = total - active return render_template( "stats.html", username=USERNAME, total=total, active=active, inactive=inactive, ) if __name__ == '__main__': app.run(host='127.0.0.1', port=5000, debug=True)