import os
from LogUtil import get_json_log
import json
def generate_ulThroughput(calc_pl_json):
data = get_json_log(calc_pl_json)
max_pl = data[str(len(data)-1)]['ulPL']
ulThroughput = data['0']['ulThroughput']['avg']
print(max_pl, ulThroughput)
name_x = "路损:dB"
title = "THROUGHPUT"
name_y = "THROUGHPUT"
x = max_pl
standard = []
current = []
data_x = []
abnormal_pos = 3
abnormal_value = data[str(abnormal_pos)]['ulThroughput']['avg']
for i in range(len(data)):
standard.append(data[str(i)]['ulThroughput']['avg']+200)
current.append(data[str(i)]['ulThroughput']['avg'])
data_x.append(data[str(i)]['ulPL'])
chart_json = {}
chart_json["title"] = {"text": title,"subtext": "TEST"}
chart_json["tooltip"] = {"trigger":"axis"}
chart_json["legend"] = {"data":["Standard","Current"]}
chart_json["toolbox"] = {"show" : "true", "feature": {"mark" : {"show": "true"}, "dataView" : {"show": "true", "readOnly": "true"}, "magicType" : {"show": "true", "type": ["line", "bar"]},"restore" : {"show": "true"},"saveAsImage" : {"show": "true"}}}
chart_json["dataZoom"] =[{"type": "slider","show": "true","xAxisIndex": [0],"start": 0,"end": x},{"type": "inside","xAxisIndex": [0],"start": 0,"end": x}]
chart_json["calculable"] = "true"
chart_json["xAxis"] = [{"name": name_x,"type" : "category","boundaryGap" : False,"data" : data_x}]
chart_json["yAxis"] = [{"name": name_y,"type" : "value","axisLabel" :{ "formatter": "{value}"}}]
chart_json["series"] = [{"name":"Standard","type":"line","data":standard},{"name":"Current","type":"line","data": current,"markPoint" : {"data" : [{"coord":[abnormal_pos,abnormal_value],"value":abnormal_value}]}}]
str_json = str(chart_json)
str_json = str_json.replace("False", "false")
str_json = str_json.replace("'", '"')
f = open('chart.json','w', encoding='utf-8')
f.write(str_json)
f.close()
print(str_json)