Upload files to "modules"
This commit is contained in:
parent
10763f91d2
commit
62ea1b86c6
1 changed files with 49 additions and 0 deletions
49
modules/dhcpv6.py
Normal file
49
modules/dhcpv6.py
Normal 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}
|
||||
Loading…
Add table
Add a link
Reference in a new issue