Upload files to "modules"

This commit is contained in:
Blackwhitebear8 2025-10-17 20:19:50 +02:00
parent 10763f91d2
commit 62ea1b86c6

49
modules/dhcpv6.py Normal file
View file

@ -0,0 +1,49 @@
def parse_dhcpv6_leases_data(raw_data):
if not raw_data.get("success") or not raw_data.get("data"):
return []
leases_data_string = raw_data.get("data")
if not isinstance(leases_data_string, str) or not leases_data_string:
return []
lines = leases_data_string.strip().split('\n')
if len(lines) < 3:
return []
lease_list = []
for line in lines[2:]:
line = line.strip()
if not line:
continue
try:
rest, type_val, pool, duid = line.rsplit(None, 3)
prefix, state, middle_string = rest.split(None, 2)
middle_parts = middle_string.split()
last_comm = middle_parts[0] + " " + middle_parts[1]
lease_exp = middle_parts[2] + " " + middle_parts[3]
remaining = " ".join(middle_parts[4:])
lease_info = {
"prefix": prefix,
"state": state,
"last_communication": last_comm,
"lease_expiration": lease_exp,
"remaining": remaining,
"type": type_val,
"pool": pool,
"duid": duid
}
lease_list.append(lease_info)
except (ValueError, IndexError) as e:
print(f"Warning: Could not parse DHCPv6 lease rule: {line} | Error: {e}")
continue
return lease_list
def generate_dhcpv6_leases_json(lease_table):
return {"data": lease_table}