#!/usr/bin/env python3
"""Export the HVEPS source-bounded input-availability ledger as CSV."""

import csv
import json
from pathlib import Path


HERE = Path(__file__).resolve().parent
SOURCE = HERE / "hveps-input-availability.json"
OUTPUT = HERE / "hveps-input-availability.csv"
FIELDS = ["id", "quantity", "status", "reported", "source_locator", "remaining_gap", "relevance"]


def main():
    ledger = json.loads(SOURCE.read_text(encoding="utf-8"))
    with OUTPUT.open("w", newline="", encoding="utf-8") as stream:
        writer = csv.DictWriter(stream, fieldnames=FIELDS)
        writer.writeheader()
        for item in ledger["quantities"]:
            writer.writerow({key: item.get(key, "") for key in FIELDS if key != "id"} | {"id": item["id"]})


if __name__ == "__main__":
    main()
