"""Check what columns exist in the Rekapitulacija file(s).
Specifically: confirm 'Loyalty kartica' column is present + format."""
import sys
sys.stdout.reconfigure(encoding="utf-8")
from pathlib import Path
import pandas as pd

# Find every rekap-like file in data/ and check columns
data_dir = Path("data")
candidates = list(data_dir.glob("Rekap*.xlsx")) + list(data_dir.glob("rekap*.xlsx")) \
             + list(data_dir.glob("*ekapitulac*.xlsx"))
candidates = sorted(set(candidates))
print(f"Found {len(candidates)} candidate file(s):")
for p in candidates:
    print(f"  {p.name}")
print()

for p in candidates:
    print(f"=== {p.name} ===")
    try:
        # Try reading first sheet, first row only to see headers
        df = pd.read_excel(p, nrows=10)
        print(f"  columns ({len(df.columns)}):")
        for c in df.columns:
            marker = "  ← LOYALTY?" if "oyalt" in str(c).lower() else ""
            print(f"    {c!r}{marker}")
        loyalty_cols = [c for c in df.columns if "oyalt" in str(c).lower()]
        if loyalty_cols:
            print()
            print(f"  Loyalty column found: {loyalty_cols[0]!r}")
            sample = df[loyalty_cols[0]].head(20)
            print(f"  Sample values (first 20):")
            for i, v in enumerate(sample):
                print(f"    [{i}] {v!r}  (type={type(v).__name__})")
            non_null = df[loyalty_cols[0]].dropna()
            print(f"  non-null count: {len(non_null)} of {len(df)} rows in sample")
    except Exception as e:
        print(f"  ERROR reading {p.name}: {e}")
    print()
