#!/bin/bash
# Exit codes: 0=success, 2=input error
set -euo pipefail

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
REGISTRY="$ROOT_DIR/.smbatcher/REGISTRY.md"
BATCH_DIR="$ROOT_DIR/.smbatcher/batches"
SITES_DIR="$ROOT_DIR/sites"

SITES=""
BATCH_SIZE=20
MANUAL_BATCH_ID=""
while [[ $# -gt 0 ]]; do
  case "$1" in
    --sites)
      SITES="$2"
      shift 2
      ;;
    --batch-size)
      BATCH_SIZE="$2"
      shift 2
      ;;
    --batch-id)
      MANUAL_BATCH_ID="$2"
      shift 2
      ;;
    *)
      echo "ERROR:invalid_argument:$1"
      echo "Usage: $0 --sites \"domain:title:desc:theme,...\" [--batch-size N] [--batch-id XXX]"
      exit 2
      ;;
  esac
done

if [ -z "$SITES" ]; then
  echo "ERROR:missing_argument:--sites is required"
  exit 2
fi

"$ROOT_DIR/tools/run-python.sh" "$ROOT_DIR/tools/design/batch.py" "$ROOT_DIR" "$REGISTRY" "$BATCH_DIR" "$SITES_DIR" "$SITES" "$BATCH_SIZE" "$MANUAL_BATCH_ID"
