import re
import pymysql
from datetime import datetime

# Datei laden
with open("/var/www/html/bme280.txt", "r", encoding="utf-8") as f:
    text = f.read()

# Regex für komplette Messblöcke
pattern = re.findall(
    r"Sensor:\s*(.*?)\s+Gemessen am:\s*(\d{2}\.\d{2}\.\d{4})\s*(\d{2}:\d{2}:\d{2})\s+"
    r"Temperatur:\s*([\d.]+).*?\s+"
    r"Luftfeuchtigkeit:\s*([\d.]+).*?\s+"
    r"Luftdruck:\s*([\d.]+).*?\s+"
    r"Errechnete Höhe:\s*([\d.]+)",
    text,
    re.S
)

# Verbindung zu MariaDB
conn = pymysql.connect(
    host="localhost",
    user="hku",
    password="suyr",
    database="wetter"
)

cursor = conn.cursor()

sql = """
INSERT INTO wdatecht
(sensor, datum, zeit, temperatur, luftfeuchte, luftdruck, hoehe)
VALUES (%s,%s,%s,%s,%s,%s,%s)
"""

for block in pattern:

    sensor, datum_str, zeit, temp, feuchte, druck, hoehe = block

    datum = datetime.strptime(datum_str, "%d.%m.%Y").date()

    values = (
        sensor.strip(),
        datum,
        zeit,
        float(temp),
        float(feuchte),
        float(druck),
        float(hoehe)
    )

    cursor.execute(sql, values)

conn.commit()

print(cursor.rowcount, "Messungen gespeichert")

cursor.close()
conn.close()
