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 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):