|
@@ -0,0 +1,36 @@
|
|
|
|
+import json
|
|
|
|
+from datetime import datetime, timedelta
|
|
|
|
+
|
|
|
|
+def s2t(seconds):
|
|
|
|
+ h = seconds//3600
|
|
|
|
+ m = seconds%3600//60
|
|
|
|
+ s = (seconds%3600)%60
|
|
|
|
+ return "{:02.0f}:{:02.0f}:{:02.0f}".format(h, m, s)
|
|
|
|
+
|
|
|
|
+f = open("mrzmay.json", "r")
|
|
|
|
+members = json.loads(f.read())
|
|
|
|
+f.close()
|
|
|
|
+
|
|
|
|
+dateformat = "%Y-%m-%dT%H:%M:%SZ"
|
|
|
|
+
|
|
|
|
+stations = ['EDWW_M__CTR', 'EDUU_O_CTR', 'EDWW_MRZ_CTR', 'EDWW__M_CTR', 'EDWW_M___CTR', 'EDWW_B___CTR', 'EDWW_CTR', 'EDWW_B_CTR', 'EDWW_M_CTR', 'EDWW_B__CTR', 'EDWW_F_CTR', 'EDWW_K_CTR']
|
|
|
|
+
|
|
|
|
+for member in members:
|
|
|
|
+ member["eval"] = {"sessions": 0, "time": timedelta(seconds=0), "aircraft": 0}
|
|
|
|
+ for item in member["data"]["items"]:
|
|
|
|
+ if datetime.strptime(item["connection_id"]["start"],dateformat) > datetime.strptime("2024-05-01T00:00:00Z",dateformat) and item["connection_id"]["callsign"] in stations:
|
|
|
|
+ member["eval"]["sessions"] += 1
|
|
|
|
+ member["eval"]["time"] += (datetime.strptime(item["connection_id"]["end"], dateformat) - datetime.strptime(item["connection_id"]["start"], dateformat))
|
|
|
|
+ member["eval"]["aircraft"] += item["aircrafttracked"]
|
|
|
|
+ print("{:>7}: Sessions: {:>3}, Online für: {}, Flugzeuge: {:>4}".format(member["name"], member["eval"]["sessions"], s2t(member["eval"]["time"].total_seconds()), member["eval"]["aircraft"]))
|
|
|
|
+
|
|
|
|
+totals ={"sessions": 0, "time": timedelta(seconds=0), "aircraft": 0}
|
|
|
|
+
|
|
|
|
+for member in members:
|
|
|
|
+ totals["sessions"] += member["eval"]["sessions"]
|
|
|
|
+ totals["time"] += member["eval"]["time"]
|
|
|
|
+ totals["aircraft"] += member["eval"]["aircraft"]
|
|
|
|
+
|
|
|
|
+print("=============================================================")
|
|
|
|
+print("{:>7}: Sessions: {:>3}, Online für: {}, Flugzeuge: {:>4}".format("Gesamt", totals["sessions"], s2t(totals["time"].total_seconds()), totals["aircraft"]))
|
|
|
|
+
|