#!/usr/bin/python3
import urllib.request
from datetime import datetime

IERS_URL = "https://datacenter.iers.org/data/latestVersion/finals.daily.iau2000.txt"

def get_delta_t_from_iers(target_date: datetime) -> float:
    """
    Liest Delta T (in Sekunden) für ein bestimmtes Datum direkt aus der IERS-Datei finals2000A.all aus.
    """
    print("Lade IERS-Daten herunter...")
    req = urllib.request.Request(IERS_URL, headers={'User-Agent': 'Mozilla/5.0'})
    
    with urllib.request.urlopen(req) as response:
        lines = response.read().decode('utf-8').splitlines()

    target_yy = target_date.year % 100
    target_mm = target_date.month
    target_dd = target_date.day

    for line in lines:
        if len(line) < 64:
            continue

        try:
            # IERS-Spaltenformat für finals2000A.all:
            # YY (0:2), MM (2:4), DD (4:6)
            yy = int(line[0:2])
            mm = int(line[2:4])
            dd = int(line[4:6])

            if yy == target_yy and mm == target_mm and dd == target_dd:
                # Delta T steht in den Spalten 58:65
                delta_t_str = line[57:65].strip()
                if delta_t_str:
                    return float(delta_t_str)
        except ValueError:
            continue

    raise ValueError(f"Kein Eintrag für Datum {target_date.strftime('%Y-%m-%d')} gefunden.")

if __name__ == "__main__":
    # Test-Datum
    heute = datetime(2026, 6, 23)
    
    try:
        dt = get_delta_t_from_iers(heute)
        print(f"Datum:   {heute.strftime('%Y-%m-%d')}")
        print(f"Delta T: {dt:.4f} s")
    except Exception as e:
        print(f"Fehler: {e}")
