tartiflette/appci/analyze.py
2017-09-01 20:20:42 +02:00

53 lines
1.1 KiB
Python
Executable file

#!/usr/bin/python
import json
import glob
def main():
apps = []
for f in glob.glob("data/*"):
app = f.replace("data/","")
appdata = open(f).read().strip()
if appdata == "":
continue
data = {}
data["name"] = app
data["statuses"] = []
if len(appdata.split("\n")) != 2:
print "Ignoring %s - bad/unavailable data" % app
continue
applevel = appdata.split("\n")[1][0]
appdata = appdata.split("\n")[0]
data["level"] = int(applevel)
statusescore = 0
for c in appdata:
if c == "0":
s = "danger"
statusescore -= 1
elif c == "1":
s = "success"
statusescore += 1
else:
s = "unknown"
data["statuses"].append(s)
data["statusescore"] = statusescore
apps.append(data)
apps.sort(key=lambda a: (a["level"], a["statusescore"], a["name"]), reverse=True)
with open("apps.json", "w") as f:
json.dump(apps, f)
main()