From 2dfafef97d9bd9085b2f04da51f141ae37556eb1 Mon Sep 17 00:00:00 2001 From: "zihao.jiang" Date: Mon, 22 Dec 2025 11:19:53 +0800 Subject: [PATCH] config update --- test/config.py | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/test/config.py b/test/config.py index 37fefdb..78885b3 100644 --- a/test/config.py +++ b/test/config.py @@ -7,15 +7,39 @@ api_key, api_secret, passphrase, flag = get_api_credentials() """ import os +import logging from pathlib import Path -# Try to load from .env file if python-dotenv is available -try: - from dotenv import load_dotenv +logger = logging.getLogger(__name__) + +# Flag to ensure .env is loaded only once +_env_loaded = False + + +def _load_env_once(): + """Load .env file only once, log any exceptions.""" + global _env_loaded + if _env_loaded: + return + + _env_loaded = True env_path = Path(__file__).parent.parent / '.env' - load_dotenv(env_path) -except ImportError: - pass # python-dotenv not installed, rely on system environment variables + + try: + from dotenv import load_dotenv + if env_path.exists(): + load_dotenv(env_path) + logger.debug(f"Loaded .env file from: {env_path}") + else: + logger.warning(f".env file not found at: {env_path}") + except ImportError: + logger.warning("python-dotenv not installed, relying on system environment variables") + except Exception as e: + logger.error(f"Failed to load .env file: {e}") + + +# Load .env when module is imported +_load_env_once() def get_api_credentials():