#!/bin/bash

# 定义图标
CHECK_ICON="✅"
ERROR_ICON="❌"
INFO_ICON="ℹ️"
WARNING_ICON="⚠️"

echo -e "${INFO_ICON} 开始检查 Python 环境..."

# 检查 python 命令是否可用（因为实际运行时调用的就是这个命令）
if command -v python &> /dev/null
then
    # 尝试获取 Python 版本
    if PYTHON_VERSION=$(python --version 2>&1)
    then
        echo -e "${CHECK_ICON} Python 命令检测成功: ${PYTHON_VERSION}"

        # 执行一段简单的 Python 脚本来验证环境是否真正可用
        echo -e "${INFO_ICON} 正在验证 Python 环境可执行性..."

        # 创建一个简单的测试脚本
        TEST_SCRIPT='
import sys
import os
print("Python version:", sys.version.split()[0])
print("Python executable:", sys.executable)
print("Platform:", sys.platform)
try:
    import json
    print("JSON module: OK")
except ImportError as e:
    print("JSON module: FAILED -", str(e))
    sys.exit(1)
print("Environment test: PASSED")
'

        # 执行测试脚本
        PYTHON_TEST_OUTPUT=$(python -c "$TEST_SCRIPT" 2>&1)
        if [ $? -eq 0 ]; then
            echo -e "${CHECK_ICON} Python 环境验证成功:"
            echo "$PYTHON_TEST_OUTPUT" | while IFS= read -r line; do
                echo -e "  ${line}"
            done
            exit 0
        else
            echo -e "${ERROR_ICON} 错误: Python 环境验证失败。详细信息:" >&2
            echo "$PYTHON_TEST_OUTPUT" | while IFS= read -r line; do
                echo -e "  ${line}" >&2
            done
            echo -e "${ERROR_ICON} 部署无法继续，请检查您的 Python 环境。" >&2
            exit 1
        fi
    else
        echo -e "${ERROR_ICON} 错误: python 命令存在但无法正常运行。错误信息: ${PYTHON_VERSION}" >&2
        echo -e "${ERROR_ICON} 部署无法继续，请检查您的 Python 安装。" >&2
        exit 1
    fi
else
    # python 命令不存在，给出操作建议
    echo -e "${ERROR_ICON} 错误: 系统中未找到 'python' 命令。" >&2
    echo -e "${INFO_ICON} 部署需要 'python' 命令才能继续。" >&2
    echo -e "${INFO_ICON} 解决方案:" >&2
    echo -e "  1. 如果您已安装了 Python 3，可以创建软链接: 参考示例" >&2
    echo -e "     sudo ln -s \$(which python3) /usr/local/bin/python" >&2
    echo -e "" >&2
    echo -e "  2. 安装 Python 3 (推荐) 参考示例如下:" >&2
    echo -e "     # Ubuntu/Debian:" >&2
    echo -e "     sudo apt-get update && sudo apt-get install python3 python3-pip" >&2
    echo -e "     sudo ln -s /usr/bin/python3 /usr/bin/python" >&2
    echo -e "" >&2
    echo -e "     # CentOS/RHEL 8+ 参考示例如下:" >&2
    echo -e "     sudo dnf install python3 python3-pip" >&2
    echo -e "     sudo alternatives --install /usr/bin/python python /usr/bin/python3 1" >&2
    echo -e "" >&2
    echo -e "     # CentOS/RHEL 7 参考示例如下:" >&2
    echo -e "     sudo yum install python3 python3-pip" >&2
    echo -e "     sudo ln -s /usr/bin/python3 /usr/bin/python" >&2
    echo -e "" >&2
    echo -e "  3. 或者安装 Python 2.7 (不推荐，已停止维护):" >&2
    echo -e "     # Ubuntu/Debian: sudo apt-get install python2.7" >&2
    echo -e "     # CentOS/RHEL: sudo yum install python2" >&2
    echo -e "${WARNING_ICON} 请安装 Python 后重新运行部署。" >&2
    exit 1
fi