From c5b02b12897a0b4089d39a1cce5f5cd3ed10e1d1 Mon Sep 17 00:00:00 2001 From: Matthew Grotke Date: Mon, 1 Jun 2026 10:07:57 -0400 Subject: [PATCH] Development --- docker/routlin-dash/app/view_page.py | 32 +++++++++++++------------- docker/routlin-dash/docker-compose.yml | 1 + 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/docker/routlin-dash/app/view_page.py b/docker/routlin-dash/app/view_page.py index 818d0ce..fecd8f3 100644 --- a/docker/routlin-dash/app/view_page.py +++ b/docker/routlin-dash/app/view_page.py @@ -1,6 +1,6 @@ from flask import Blueprint, session, redirect, get_flashed_messages from markupsafe import Markup -import json, re, subprocess, os, sys +import json, re, subprocess, os, sys, glob import sanitize import validation as validate from datetime import datetime, timezone @@ -153,21 +153,21 @@ def resolve_iface(vlan, cfg): def live_dhcp_leases(): rows = [] - leases_file = '/var/lib/misc/dnsmasq.leases' - try: - with open(leases_file) as f: - for line in f: - parts = line.strip().split() - if len(parts) >= 4: - rows.append({ - 'hostname': parts[3] if parts[3] != '*' else '-', - 'ip_address': parts[2], - 'mac_address': parts[1], - 'vlan_name': _vlan_name_for_ip(parts[2]), - 'expires': fmt_timestamp(int(parts[0])), - }) - except Exception: - pass + for leases_file in glob.glob('/var/lib/misc/*.leases'): + try: + with open(leases_file) as f: + for line in f: + parts = line.strip().split() + if len(parts) >= 4: + rows.append({ + 'hostname': parts[3] if parts[3] != '*' else '-', + 'ip_address': parts[2], + 'mac_address': parts[1], + 'vlan_name': _vlan_name_for_ip(parts[2]), + 'expires': fmt_timestamp(int(parts[0])), + }) + except Exception: + pass return rows def _vlan_name_for_ip(ip): diff --git a/docker/routlin-dash/docker-compose.yml b/docker/routlin-dash/docker-compose.yml index 228b375..25112c2 100644 --- a/docker/routlin-dash/docker-compose.yml +++ b/docker/routlin-dash/docker-compose.yml @@ -13,6 +13,7 @@ services: - /sys/class/net:/sys/class/net:ro - /sys/devices:/sys/devices:ro - /etc/localtime:/etc/localtime:ro + - /var/lib/misc:/var/lib/misc:ro environment: - PYTHONPATH=/routlin_location - WEB_APP_DISPLAY_NAME=Routlin Dashboard