import sys
import json
import pandas as pd


def validate(filepath):
    try:
        with open("test.json") as json_f:
            REQUIRED_IDS = {entry["id"] for entry in json.load(json_f)}
        df = pd.read_csv(filepath, index_col="id")
        for id in REQUIRED_IDS:
            if id not in df.index:
                raise KeyError(f"missing ID {id}")
            _ = df.loc[id, "cuisine"]
        print("valid")
    except Exception as e:
        print(f"error: {e}")

if __name__ == "__main__":
    if len(sys.argv) != 2:
        print("Usage: python validate_csv.py <your_predictions.csv>")
        sys.exit(0)

    validate(sys.argv[1])

