Development

This commit is contained in:
Matthew Grotke 2026-06-01 10:07:57 -04:00
parent 2d9b9a4862
commit c5b02b1289
2 changed files with 17 additions and 16 deletions

View file

@ -1,6 +1,6 @@
from flask import Blueprint, session, redirect, get_flashed_messages from flask import Blueprint, session, redirect, get_flashed_messages
from markupsafe import Markup from markupsafe import Markup
import json, re, subprocess, os, sys import json, re, subprocess, os, sys, glob
import sanitize import sanitize
import validation as validate import validation as validate
from datetime import datetime, timezone from datetime import datetime, timezone
@ -153,21 +153,21 @@ def resolve_iface(vlan, cfg):
def live_dhcp_leases(): def live_dhcp_leases():
rows = [] rows = []
leases_file = '/var/lib/misc/dnsmasq.leases' for leases_file in glob.glob('/var/lib/misc/*.leases'):
try: try:
with open(leases_file) as f: with open(leases_file) as f:
for line in f: for line in f:
parts = line.strip().split() parts = line.strip().split()
if len(parts) >= 4: if len(parts) >= 4:
rows.append({ rows.append({
'hostname': parts[3] if parts[3] != '*' else '-', 'hostname': parts[3] if parts[3] != '*' else '-',
'ip_address': parts[2], 'ip_address': parts[2],
'mac_address': parts[1], 'mac_address': parts[1],
'vlan_name': _vlan_name_for_ip(parts[2]), 'vlan_name': _vlan_name_for_ip(parts[2]),
'expires': fmt_timestamp(int(parts[0])), 'expires': fmt_timestamp(int(parts[0])),
}) })
except Exception: except Exception:
pass pass
return rows return rows
def _vlan_name_for_ip(ip): def _vlan_name_for_ip(ip):

View file

@ -13,6 +13,7 @@ services:
- /sys/class/net:/sys/class/net:ro - /sys/class/net:/sys/class/net:ro
- /sys/devices:/sys/devices:ro - /sys/devices:/sys/devices:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
- /var/lib/misc:/var/lib/misc:ro
environment: environment:
- PYTHONPATH=/routlin_location - PYTHONPATH=/routlin_location
- WEB_APP_DISPLAY_NAME=Routlin Dashboard - WEB_APP_DISPLAY_NAME=Routlin Dashboard