feat: initial commit; add main.py

This commit is contained in:
etwas 2025-03-30 16:46:16 +02:00
parent 9f3328c214
commit 8ece0f751a
Signed by: etwas
SSH key fingerprint: SHA256:bHhIeAdn/2k9jmOs6+u6ox98VYmoHUN3HfnpV2w8Ws0

39
main.py Normal file
View file

@ -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