Update app.py

This commit is contained in:
Blackwhitebear8 2025-08-13 15:56:53 +02:00
parent 79776d3ffe
commit 4413316ba2

21
app.py
View file

@ -8,7 +8,7 @@ from flask import Flask, render_template_string, jsonify, url_for, redirect, ren
app = Flask(__name__)
from modules.parse import run_bgp_curl_command, run_arp_curl_command, run_neighbors_curl_command, run_interfaces_curl_command, run_bgp_route_curl_command, run_rpki_cache_connection_curl_command, run_rpki_lookup_curl_command, run_bgp_neighbor_detail_curl_command, run_bfd_peers_curl_command, run_bfd_peer_detail_curl_command
from modules.parse import run_bgp_curl_command, run_arp_curl_command, run_neighbors_curl_command, run_interfaces_curl_command, run_bgp_route_curl_command, run_rpki_cache_connection_curl_command, run_rpki_lookup_curl_command, run_bgp_neighbor_detail_curl_command, run_bfd_peers_curl_command, run_bfd_peer_detail_curl_command, run_bgp_dampeningv4_curl_command, run_bgp_dampeningv6_curl_command
from modules.bgp import parse_bgp_data, generate_bgp_json
@ -26,6 +26,8 @@ from modules.rpki import parse_rpki_cache_data, parse_rpki_lookup_data
from modules.bfd import parse_bfd_peers_data
from modules.bgp_dampening import parse_dampened_data, generate_dampened_json
from modules.visual_route import generate_visual_route_graph
@app.context_processor
@ -61,6 +63,23 @@ def bgp_json():
return jsonify(generate_bgp_json(ipv4_info, ipv4_peers, ipv6_info, ipv6_peers, bfd_peers))
@app.route("/bgp/dampened")
def bgp_dampened_page():
return render_template("bgp_dampened.html")
@app.route("/bgp/dampened/json")
def bgp_dampened_json():
try:
ipv4_dampened_raw = run_bgp_dampeningv4_curl_command()
ipv6_dampened_raw = run_bgp_dampeningv6_curl_command()
ipv4_paths = parse_dampened_data(ipv4_dampened_raw, "ipv4")
ipv6_paths = parse_dampened_data(ipv6_dampened_raw, "ipv6")
return jsonify(generate_dampened_json(ipv4_paths, ipv6_paths))
except Exception as e:
return jsonify({"error": "Failed to retrieve BGP dampened data.", "details": str(e)}), 500
@app.route('/bfd/peer/<string:peer_ip>')
def bfd_peer_detail(peer_ip):
try: