diff --git a/main.py b/main.py new file mode 100644 index 0000000..8356f93 --- /dev/null +++ b/main.py @@ -0,0 +1,39 @@ +import time +import requests +import sqlite3 +from ping3 import ping + +ip = "1.1.1.1" +db_file = "pings.sqlite" + +con = sqlite3.connect(db_file) +cur = con.cursor() + +# init DB +cur.execute("CREATE TABLE IF NOT EXISTS pings (ping REAL, pingcount INT, latitude REAL, longitude REAL, time INT);") + +prev_latitude, prev_longitude, latitude, longitude = (0, 0, 0, 0) + +ping_sum = 0 +ping_count = 0 +prev_sec = 0 +sec_now = 0 +while True: + sec_now = time.localtime().tm_sec + + if sec_now != prev_sec: + ice_status = requests.get("https://iceportal.de/api1/rs/status").json() + latitude = ice_status["latitude"] + longitude = ice_status["longitude"] + + if (prev_latitude != latitude or prev_longitude != longitude) and ping_count > 0: + print(f"({latitude}, {longitude}): \t {ping_sum / ping_count} Sekunden avg von {ping_count} {'Pings' if ping_count > 1 else 'Ping'}") + cur.execute("INSERT INTO pings (ping, pingcount, latitude, longitude, time) VALUES(?, ?, ?, ?, ?);", (ping_sum/ping_count, ping_count, latitude, longitude, int(time.time()))) + + ping_sum = 0 + ping_count = 0 + prev_latitude, prev_longitude, prev_sec = latitude, longitude, sec_now + + ping_now = ping(ip, timeout=2) + ping_sum += 2 if ping_now is None else ping_now + ping_count += 1