go.ligato.io/vpp-agent/v3@v3.5.0/tests/robot/libraries/etcdctl.py (about) 1 import json 2 3 4 def create_interfaces_json_from_list(interfaces): 5 ints_json = "" 6 for interface in interfaces: 7 if interface[:4] == 'bvi_': 8 ints_json += '{ "name": "' + interface + '", "bridged_virtual_interface": true },' 9 else: 10 ints_json += '{ "name": "' + interface + '" },' 11 ints_json = ints_json[:-1] 12 return ints_json 13 14 15 def remove_empty_lines(lines): 16 out_lines = "" 17 for line in lines: 18 if line.strip(): 19 out_lines += line 20 return out_lines 21 22 23 def remove_keys(lines): 24 out_lines = "" 25 for line in lines: 26 if line[0] != '/': 27 out_lines += line + '\n' 28 return out_lines 29 30 31 # input - etcd dump 32 # output - etcd dump converted to json + key, node, name, type atributes 33 def convert_etcd_dump_to_json(dump): 34 etcd_json = '[' 35 key = '' 36 data = '' 37 firstline = True 38 for line in dump.splitlines(): 39 if line.strip() != '': 40 if line[0] == '/': 41 if not firstline: 42 etcd_json += '{"key":"'+key+'","node":"'+node+'","name":"'+name+'","type":"'+type+'","data":'+data+'},' 43 key = line 44 node = key.split('/')[2] 45 name = key.split('/')[-1] 46 type = key.split('/')[4] 47 data = '' 48 firstline = False 49 else: 50 if line == "null": 51 line = '{"error":"null"}' 52 data += line 53 if not firstline: 54 etcd_json += '{"key":"'+key+'","node":"'+node+'","name":"'+name+'","type":"'+type+'","data":'+data+'}' 55 etcd_json += ']' 56 return etcd_json