changes
This commit is contained in:
commit
5e31dd0214
37 changed files with 2082 additions and 0 deletions
30
modules/interfaces.py
Normal file
30
modules/interfaces.py
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
def parse_interface_data(data):
|
||||
interface_table = []
|
||||
|
||||
if "data" in data:
|
||||
raw_data = data["data"]
|
||||
|
||||
for line in raw_data.split("\n"):
|
||||
if line.startswith("Interface") and "IP Address" in line:
|
||||
continue
|
||||
|
||||
if line.startswith("Codes:"):
|
||||
continue
|
||||
|
||||
if line.strip().startswith('-'):
|
||||
continue
|
||||
|
||||
if line.strip():
|
||||
interface_info = line.split()
|
||||
if len(interface_info) >= 6:
|
||||
interface_table.append({
|
||||
"interface": interface_info[0],
|
||||
"ip_address": interface_info[1] if interface_info[1] != '-' else 'N/A',
|
||||
"mac_address": interface_info[2],
|
||||
"vrf": interface_info[3],
|
||||
"mtu": interface_info[4],
|
||||
"status": interface_info[5],
|
||||
"description": " ".join(interface_info[6:])
|
||||
})
|
||||
|
||||
return interface_table
|
||||
Loading…
Add table
Add a link
Reference in a new issue