mirror of
https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
synced 2025-10-31 18:58:01 +00:00
118 lines
3.7 KiB
Python
118 lines
3.7 KiB
Python
#!/usr/bin/python3
|
|
|
|
'''
|
|
NAME:
|
|
lf_read_json.py
|
|
|
|
PURPOSE:
|
|
Test out reading configuration data from a .json style config file
|
|
|
|
EXAMPLE:
|
|
./lf_read_json.py --file <name>.json
|
|
|
|
NOTES:
|
|
|
|
|
|
TO DO NOTES:
|
|
|
|
|
|
'''
|
|
import sys
|
|
if sys.version_info[0] != 3:
|
|
print("This script requires Python3")
|
|
exit()
|
|
|
|
|
|
from time import sleep
|
|
import argparse
|
|
import json
|
|
|
|
class lf_read_json():
|
|
def __init__(self):
|
|
|
|
self.timeout = 10
|
|
|
|
|
|
def preprocess_data(self):
|
|
pass
|
|
|
|
|
|
|
|
def main():
|
|
# arguments
|
|
parser = argparse.ArgumentParser(
|
|
prog='lf_read_json.py',
|
|
formatter_class=argparse.RawTextHelpFormatter,
|
|
epilog='''\
|
|
lf_read_json.py : read json
|
|
''',
|
|
description='''\
|
|
lf_read_json.py
|
|
-----------
|
|
|
|
Summary :
|
|
---------
|
|
|
|
./lf_dataplane_json.py --mgr 192.168.0.101 --port 8080 --lf_user lanforge --lf_password lanforge --instance_name dataplane-instance --config_name test_con --upstream 1.1.eth1 --dut asus_5g --duration 15s --station 1.1.13.sta0002 --download_speed 85% --upload_speed 0 --raw_line 'pkts: Custom;60;MTU' --raw_line 'cust_pkt_sz: 88 1200' --raw_line 'directions: DUT Transmit' --raw_line 'traffic_types: UDP' --raw_line 'bandw_options: 20' --raw_line 'spatial_streams: 1
|
|
|
|
''')
|
|
|
|
parser.add_argument('--json', help="--json <config.json> json input file", default="config.json")
|
|
|
|
args = parser.parse_args()
|
|
|
|
config_json = args.json
|
|
print("config_json {}".format(config_json))
|
|
|
|
with open(config_json, 'r') as config_file:
|
|
config_data = json.load(config_file)
|
|
|
|
print(config_data)
|
|
print("mgr: {}".format(config_data["mgr"]))
|
|
#print("raw_line: {}".format(config_data["raw_line"]))
|
|
raw = []
|
|
raw = config_data["raw_line"]
|
|
print(raw)
|
|
# raw is a list
|
|
raw2 = [[x] for x in raw]
|
|
print(raw2)
|
|
|
|
'''
|
|
for r in raw_lines:
|
|
cfg_options.append(r[0])
|
|
'''
|
|
|
|
'''./lf_dataplane_json.py --mgr 192.168.0.101 --port 8080 --lf_user lanforge --lf_password lanforge --instance_name dataplane-instance --config_name test_con --upstream 1.1.eth1 --dut asus_5g --duration 15s --station 1.1.13.sta0002 --download_speed 85% --upload_speed 0 --raw_line 'pkts: Custom;60;MTU' --raw_line 'cust_pkt_sz: 88 1200' --raw_line 'directions: DUT Transmit' --raw_line 'traffic_types: UDP' --raw_line 'bandw_options: 20' --raw_line 'spatial_streams: 1'
|
|
Namespace(config_name='test_con', disable=[], download_speed='85%', duration='15s', dut='asus_5g', enable=[], graph_groups=None, influx_bucket=None, influx_host=None, influx_org=None, influx_port=8086, influx_tag=[], influx_token=None, instance_name='dataplane-instance', json='', lf_password='lanforge', lf_user='lanforge', load_old_cfg=False, mgr='192.168.0.101', port=8080, pull_report=False,
|
|
correct version:
|
|
raw_line=[['pkts: Custom;60;MTU'], ['cust_pkt_sz: 88 1200'], ['directions: DUT Transmit'], ['traffic_types: UDP'], ['bandw_options: 20'], ['spatial_streams: 1']], raw_lines_file='', report_dir='', set=[], station='1.1.13.sta0002', test_rig='', upload_speed='0', upstream='1.1.eth1')
|
|
'''
|
|
|
|
''' Incorrect version
|
|
raw_line={'pkts': ['Custom', '60', 'MTU'], 'cust_pkt_sz': ['88', '1200'], 'directions': 'DUT Transmit', 'traffic_types': 'UDP', 'bandw_options': '20', 'stpatial_streams': '1'}
|
|
'''
|
|
'''cfg_options = []
|
|
for r in raw:
|
|
print(r)
|
|
test = '{}:{}'.format(r,raw[r])
|
|
cfg_options.append(test)
|
|
print(cfg_options)
|
|
'''
|
|
|
|
|
|
|
|
|
|
|
|
#dave = []
|
|
#for key,val in raw.items(): dave.append(raw.items())
|
|
|
|
#print(dave)
|
|
|
|
if "mgr" in config_data:
|
|
print("mgr present")
|
|
|
|
print("END lf_read_json.py")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main() |