46 lines
1.6 KiB
Python
46 lines
1.6 KiB
Python
import main
|
|
from utils.logging.log import *
|
|
|
|
# make this into a threaded function
|
|
def initialList(net, num, listinfo, chanLimit):
|
|
#listinfo = sorted(listinfo, key=lambda x: xdd[0])
|
|
listLength = len(listinfo)
|
|
cumul = 0
|
|
try:
|
|
cumul += sum(int(i[1]) for i in listinfo)
|
|
except TypeError:
|
|
warn("Bad LIST data received from %s - %i" % (net, num))
|
|
return
|
|
mean = cumul/listLength
|
|
sigLength = 0
|
|
insigLength = 0
|
|
sigCumul = 0
|
|
insigCumul = 0
|
|
for i in listinfo:
|
|
if int(i[1]) > mean:
|
|
sigLength += 1
|
|
sigCumul += int(i[1])
|
|
elif int(i[1]) < mean:
|
|
insigLength += 1
|
|
insigCumul += int(i[1])
|
|
|
|
if not net in main.network.keys():
|
|
warn("Cannot write list info - no network entry for %s" % net)
|
|
return
|
|
main.network[net].list["mean"] = mean
|
|
main.network[net].list["total"] = listLength
|
|
main.network[net].list["sigtotal"] = sigLength
|
|
main.network[net].list["insigtotal"] = insigLength
|
|
main.network[net].list["sigperc"] = sigLength/listLength*100
|
|
main.network[net].list["insigperc"] = insigLength/listLength*100
|
|
main.network[net].list["cumul"] = cumul
|
|
main.network[net].list["sigcumul"] = sigCumul
|
|
main.network[net].list["insigcumul"] = insigCumul
|
|
main.network[net].list["relay"] = listLength/chanLimit
|
|
main.network[net].list["sigrelay"] = sigLength/chanLimit
|
|
main.network[net].list["insigrelay"] = insigLength/chanLimit
|
|
|
|
# Rounding
|
|
main.network[net].list = {x: round(y, 4) for x, y in main.network[net].list.items()}
|
|
main.saveConf("network")
|