#!/usr/bin/env python3
"""
dump_hd.py
==========
Dumps enumerated fields of HD.dat (License Header) rows for given call
signs, to find the license status field.

Usage:
    python dump_hd.py WQVT999 WQVT998
"""
import io
import sys
import zipfile

targets = set(sys.argv[1:]) or {"WQVT999", "WQVT998"}

with zipfile.ZipFile("l_micro.zip") as z:
    with z.open("HD.dat") as raw:
        for line in io.TextIOWrapper(raw, encoding="latin-1"):
            fields = line.rstrip("\n").split("|")
            cs = fields[4].strip() if len(fields) > 4 else ""
            if cs in targets:
                print(f"HD row for {cs} ({len(fields)} fields):")
                for idx, val in enumerate(fields, 1):
                    if val.strip():
                        print(f"    [{idx}] {val!r}")
                print()
