| @ -0,0 +1,53 @@ | |||||
| #!/usr/bin/python3.8 | |||||
| import requests | |||||
| import json | |||||
| import urllib3 | |||||
| id_or_name=(input('Input id of patchpanel:\n')) | |||||
| #print(type(id_or_name)) | |||||
| urllib3.disable_warnings() | |||||
| API_HOST = 'https://demo.netbox.dev/api' | |||||
| TYPE = '/dcim/front-ports/' | |||||
| API_FRONTPORT = '/dcim/front-ports/?device_id='+id_or_name | |||||
| headers = { | |||||
| 'Authorization': "Token 8554b98861e47bc6a6fea03e5c4629c3659cacc5", | |||||
| 'User-Agent': 'PyScript 0.1', | |||||
| 'Content-Type': 'application/json', | |||||
| 'accept': 'application/json' | |||||
| } | |||||
| FRONTPORT = requests.get(API_HOST+API_FRONTPORT, headers=headers, verify=False) | |||||
| ports_label = [] | |||||
| with open('list_pp.csv') as f: | |||||
| for line in f: | |||||
| ports_label.append(line.strip()) | |||||
| label_list = [] | |||||
| count_of_ports = (FRONTPORT.json()["count"]) | |||||
| count_in_list = len(ports_label) | |||||
| if count_of_ports == count_in_list: | |||||
| print('Generating list') | |||||
| else: | |||||
| print('Please check list') | |||||
| print(f'Ports count: {count_of_ports} and ports in list: {count_in_list}') | |||||
| data = [] | |||||
| for p in range(count_of_ports): | |||||
| front_port_id = (FRONTPORT.json()["results"][p]["id"]) | |||||
| front_port_label = (ports_label[p]) | |||||
| list_done = (f'{{"id": {front_port_id}, "label": "{front_port_label}"}},') | |||||
| print(list_done) | |||||