import argparse
import json
import sys
from pathlib import Path

sys.path.insert(0, str(Path(__file__).resolve().parents[1]))


def predict_steam_stub(image_path: str | Path) -> dict:
    image_id = Path(image_path).stem.replace("_potcrop", "")
    return {"image_id": image_id, "steam_level": 1, "steam_confidence": 0.34}


def main() -> int:
    parser = argparse.ArgumentParser(description="Predict steam level for a pot crop image.")
    parser.add_argument("--image", required=True)
    parser.add_argument("--model-path", default=None)
    parser.add_argument("--output", default=None)
    args = parser.parse_args()
    result = predict_steam_stub(args.image)
    text = json.dumps(result, ensure_ascii=False, indent=2)
    if args.output:
        Path(args.output).parent.mkdir(parents=True, exist_ok=True)
        Path(args.output).write_text(text, encoding="utf-8")
    print(text)
    return 0


if __name__ == "__main__":
    raise SystemExit(main())
