"""
Ingress FS Statistik Parser
Author: Patrick Diepold
"""

import csv
import io

def parse_ingress_stats(raw_text: str):
    # Ingress TSV Daten haben oft Header wie 'Time Span', 'Agent Name', etc.
    # Wir nutzen io.StringIO, um den Text wie eine Datei zu behandeln
    f = io.StringIO(raw_text.strip())
    reader = csv.DictReader(f, delimiter='\t')
    
    stats_data = []
    try:
        for row in reader:
            # Wir säubern die Keys (manchmal sind Leerzeichen enthalten)
            clean_row = {k.strip(): v.strip() for k, v in row.items() if k}
            stats_data.append(clean_row)
        
        return stats_data
    except Exception as e:
        print(f"Fehler beim Parsen: {e}")
        return None

# Beispiel für den Testlauf:
# tsv_input = "Agent Name\tLevels Gained\tAP Gain\nAgentXYZ\t0\t150000"
# print(parse_ingress_stats(tsv_input))