from dotenv import load_dotenv
import os


# 環境変数が既に読み込まれたかどうかを追跡するフラグ
_env_loaded = False


def load_environment_variables():
    """
    .envファイルを読み込む（一度だけ実行）
    """
    global _env_loaded

    # 既に読み込まれている場合はスキップ
    if _env_loaded:
        return os.getenv("ENV", "production")

    # .envファイルのパスを構築
    env_file = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))), '.env')

    # .envファイルが存在するかチェック
    if os.path.exists(env_file):
        load_dotenv(env_file)
        print(f"Loaded environment variables from: {env_file}")
        _env_loaded = True
        return os.getenv("ENV", "production")
    else:
        print(f"Warning: Environment file not found: {env_file}")
        _env_loaded = True
        return "production"
