| @ -1,78 +0,0 @@ | |||||
| #!/usr/bin/python3.8 | |||||
| import requests | |||||
| import json | |||||
| import urllib3 | |||||
| urllib3.disable_warnings() | |||||
| url = "https://demo.netbox.dev/api/dcim/front-ports/" | |||||
| API_HOST = 'https://demo.netbox.dev/api' | |||||
| TYPE = '/dcim/front-ports/' | |||||
| headers = { | |||||
| 'Authorization': "Token 8554b98861e47bc6a6fea03e5c4629c3659cacc5", | |||||
| 'User-Agent': 'PyScript 0.1', | |||||
| 'Content-Type': 'application/json', | |||||
| 'accept': 'application/json' | |||||
| } | |||||
| data = [ | |||||
| {"id": 625, "label": "dasdas"}, | |||||
| {"id": 626, "label": "d"}, | |||||
| {"id": 627, "label": "sad"}, | |||||
| {"id": 628, "label": "as"}, | |||||
| {"id": 629, "label": "d"}, | |||||
| {"id": 630, "label": "sad"}, | |||||
| {"id": 631, "label": "as"}, | |||||
| {"id": 632, "label": "d"}, | |||||
| {"id": 633, "label": "asd"}, | |||||
| {"id": 634, "label": "sa"}, | |||||
| {"id": 635, "label": "d"}, | |||||
| {"id": 636, "label": "asd"}, | |||||
| {"id": 637, "label": "as"}, | |||||
| {"id": 638, "label": "d"}, | |||||
| {"id": 639, "label": "as"}, | |||||
| {"id": 640, "label": "da"}, | |||||
| {"id": 641, "label": "sd"}, | |||||
| {"id": 642, "label": "as"}, | |||||
| {"id": 643, "label": "d"}, | |||||
| {"id": 644, "label": "as"}, | |||||
| {"id": 645, "label": "da"}, | |||||
| {"id": 646, "label": ""}, | |||||
| {"id": 647, "label": ""}, | |||||
| {"id": 648, "label": ""}, | |||||
| {"id": 649, "label": ""}, | |||||
| {"id": 650, "label": ""}, | |||||
| {"id": 651, "label": ""}, | |||||
| {"id": 652, "label": ""}, | |||||
| {"id": 653, "label": ""}, | |||||
| {"id": 654, "label": ""}, | |||||
| {"id": 655, "label": ""}, | |||||
| {"id": 656, "label": ""}, | |||||
| {"id": 657, "label": ""}, | |||||
| {"id": 658, "label": ""}, | |||||
| {"id": 659, "label": ""}, | |||||
| {"id": 660, "label": ""}, | |||||
| {"id": 661, "label": ""}, | |||||
| {"id": 662, "label": "dasd"}, | |||||
| {"id": 663, "label": "as"}, | |||||
| {"id": 664, "label": "das"}, | |||||
| {"id": 665, "label": "d"}, | |||||
| {"id": 666, "label": "as"}, | |||||
| {"id": 667, "label": "das"}, | |||||
| {"id": 668, "label": "d"}, | |||||
| {"id": 669, "label": "a"}, | |||||
| {"id": 670, "label": "das"}, | |||||
| {"id": 671, "label": "ad"}, | |||||
| {"id": 672, "label": ""}, | |||||
| ] | |||||
| r = requests.patch(API_HOST+TYPE, json=data, headers=headers, verify=False) | |||||
| print(r.status_code) | |||||
| print(r.json) | |||||
| print(type(data)) | |||||
| @ -0,0 +1,58 @@ | |||||
| #!/usr/bin/python3.8 | |||||
| import requests | |||||
| # import json | |||||
| import urllib3 | |||||
| urllib3.disable_warnings() | |||||
| API_TOKEN = 'Token 367579298e03d2fd43df86e97b487fe5782d868d' | |||||
| API_HOST = "https://demo.netbox.dev/" | |||||
| API_APP = "api/dcim/front-ports/" | |||||
| headers = { | |||||
| 'Authorization': API_TOKEN, | |||||
| 'User-Agent': 'PyScript 0.1', | |||||
| 'Content-Type': 'application/json', | |||||
| 'accept': 'application/json' | |||||
| } | |||||
| device_id = (input('Input id of patchpanel:\n')) | |||||
| FRONTPORT = requests.get(API_HOST + API_APP + '?device_id=' + device_id, headers=headers, verify=False) | |||||
| count_of_ports = (FRONTPORT.json()['count']) | |||||
| # Read labels from file and create list. After count numbers of them | |||||
| list_port_labels = [] | |||||
| with open('list_pp.csv') as f: | |||||
| for line in f: | |||||
| list_port_labels.append(line.strip()) | |||||
| count_of_labels = len(list_port_labels) | |||||
| list_port_id = [] | |||||
| def fill_list_port_id(counts): | |||||
| for p in range(counts): | |||||
| list_port_id.append(FRONTPORT.json()['results'][p]['id']) | |||||
| def create_json_list(): | |||||
| json_list = ['id', 'label'] | |||||
| zipped = zip(list_port_id, list_port_labels) | |||||
| dicts = [dict(zip(json_list, values)) for values in zipped] | |||||
| print(dicts) | |||||
| r = requests.patch(API_HOST + API_APP, json=dicts, headers=headers, verify=False) | |||||
| print(r.json) | |||||
| print("Count of labels:", count_of_labels, "Count of ports:", count_of_ports) | |||||
| if count_of_labels == count_of_ports: | |||||
| print("Списки совпадают. Генерируем") | |||||
| fill_list_port_id(count_of_labels) | |||||
| create_json_list() | |||||
| elif count_of_labels < count_of_ports: | |||||
| print(f'В списке с названием меньше позиций ({count_of_labels}) чем портов ({count_of_ports}) в патчпанеле') | |||||
| fill_list_port_id(count_of_labels) | |||||
| create_json_list() | |||||
| else: | |||||
| print(f'В списке с названием больше позиций ({count_of_labels}) чем портов ({count_of_ports}) в патчпанеле') | |||||
| @ -1,53 +0,0 @@ | |||||
| #!/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) | |||||