"""
km_diagnose6.py - print ALL columns of a few KM PA rows to find receiver_call_sign
"""
import os, pandas as pd

ULS_DIR = r"D:\FCC_ULS"

pa = pd.read_csv(os.path.join(ULS_DIR,"PA.dat"), sep="|", header=None,
                 dtype=str, on_bad_lines="skip", encoding="latin-1")
pa.columns = list(range(len(pa.columns)))
pa["call_sign"] = pa[4].str.strip()

# Load active KM call signs
en = pd.read_csv(os.path.join(ULS_DIR,"EN.dat"), sep="|", header=None,
                 dtype=str, on_bad_lines="skip", encoding="latin-1")
km_cs = set(en[en[7].str.contains("kinder morgan",case=False,na=False)][4].str.strip().unique())

km_pa = pa[pa["call_sign"].isin(km_cs)].head(20)
print(f"Total cols in PA: {len(pa.columns)}")
print("\nAll columns for first 5 KM PA rows:")
for i, (_, row) in enumerate(km_pa.iterrows()):
    if i >= 5: break
    print(f"\n  Row {i} (call_sign={row[4]}):")
    for j in range(len(pa.columns)-1):
        val = str(row[j]).strip()
        if val and val != "nan":
            print(f"    col[{j:2d}] = '{val}'")
