#!/bin/bash
set -euo pipefail

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
CONFIG_DIR="$ROOT_DIR/.wdmaker"
CONFIG_FILE="$CONFIG_DIR/config.toml"
REGISTRY="$ROOT_DIR/.smbatcher/REGISTRY.md"
LOCK_FILE="$ROOT_DIR/.smbatcher/REGISTRY.lock"
DEFAULT_LIST="$ROOT_DIR/sites.csv"

INPUT_FILE="$DEFAULT_LIST"
SITES_ARG=""

while [[ $# -gt 0 ]]; do
  case "$1" in
    --input-file)
      INPUT_FILE="$2"
      shift 2
      ;;
    --sites)
      SITES_ARG="$2"
      shift 2
      ;;
    *)
      echo "ERROR:invalid_argument:$1"
      echo "Usage: $0 [--input-file PATH] [--sites \"domain,title,desc,theme;...\"]"
      exit 2
      ;;
  esac
done

mkdir -p "$CONFIG_DIR"

# Initialize temp config if missing
if [ ! -f "$CONFIG_FILE" ]; then
  repo_name="$(basename "$ROOT_DIR")"
  temp_path="/Volumes/Temp/WDMaker/${repo_name}/"
  printf 'temp_dir = "%s"\n' "$temp_path" > "$CONFIG_FILE"
fi
# Ensure temp directory exists
if [ -f "$CONFIG_FILE" ]; then
  tmp_dir="$(grep -E '^temp_dir' "$CONFIG_FILE" | sed -E 's/.*= *\"?(.*)\"?/\1/')"
  if [ -n "$tmp_dir" ]; then
    mkdir -p "$tmp_dir"
  fi
fi

"$ROOT_DIR/tools/run-python.sh" "$ROOT_DIR/tools/prepare/register.py" "$ROOT_DIR" "$REGISTRY" "$LOCK_FILE" "$INPUT_FILE" "$SITES_ARG"
