#!/usr/bin/env python3
"""
W Social PDS Admin Tool - Python Wrapper

This wrapper script activates the virtual environment and delegates
to the Python CLI module.

Usage:
    ./pds-wadmin <command> <subcommand> [args...]
    ./pds-wadmin-dev <command> <subcommand> [args...]
    ./pds-wadmin-stage <command> <subcommand> [args...]
    ./pds-wadmin-prod <command> <subcommand> [args...]
"""

import os
import sys
from pathlib import Path

# Determine script directory and original script name
# Use sys.argv[0] directly to preserve symlink name
script_name = os.path.basename(sys.argv[0])
script_dir = Path(__file__).parent.resolve()
venv_python = script_dir / "pds-wadmin-modules" / ".venv" / "bin" / "python3"

if venv_python.exists():
    # Set environment variable to communicate script name to the CLI
    env = os.environ.copy()
    env["WADMIN_SCRIPT_NAME"] = script_name

    # Re-execute with venv Python to ensure dependencies are available
    os.execve(str(venv_python), [str(venv_python), "-m", "wadmin"] + sys.argv[1:], env)
else:
    print("ERROR: Virtual environment not found", file=sys.stderr)
    print(f"Expected: {venv_python}", file=sys.stderr)
    print("\nSetup instructions:", file=sys.stderr)
    print("  cd pds-wadmin-modules", file=sys.stderr)
    print("  python3 -m venv .venv", file=sys.stderr)
    print("  .venv/bin/pip install -r requirements.txt", file=sys.stderr)
    print("  cd .. && ./pds-wadmin-modules/.venv/bin/pip install -e pds-wadmin-modules", file=sys.stderr)
    sys.exit(1)
