import os
from dotenv import load_dotenv
import logging

# 配置日志
logging.basicConfig(
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s'
)
logger = logging.getLogger(__name__)

# 加载.env文件中的环境变量
load_dotenv()

# TDengine数据库配置
TDENGINE_CONFIG = {
    'url': os.getenv("TDENGINE_URL", "http://tdengine:6041"),
    # 'url': "http://tdengine:6041",
    'user': os.getenv("TDENGINE_USER", "root"),
    'password': os.getenv("TDENGINE_PASSWORD", "taosdata"),
    # 'password': "taosdata",
    'database': os.getenv("TDENGINE_DATABASE", "ddllm"),
    'timeout': int(os.getenv("TDENGINE_TIMEOUT", "30"))
}

# API服务器配置
API_CONFIG = {
    'host': os.getenv("API_HOST", "0.0.0.0"),
    # 'host': "0.0.0.0",
    'port': int(os.getenv("API_PORT", "5002")),
    # 'port': 5002,
    # 'base_url': os.getenv("API_BASE_URL", f"http://127.0.0.1:9100")
    'base_url': os.getenv("API_BASE_URL", "http://localhost:5002")  # 外部访问地址
    # 'base_url': "http://localhost:5002"  # 外部访问地址
}

# 应用配置
APP_CONFIG = {
    'title': os.getenv("APP_TITLE", "变压器振动分析API"),
    'description': os.getenv("APP_DESCRIPTION", "基于TDengine的变压器振动数据分析API"),
    'version': os.getenv("APP_VERSION", "1.0.0"),
    'images_dir': os.getenv("IMAGES_DIR", os.path.join(os.path.dirname(__file__), "static", "images"))
}

# 验证配置是否正确加载
def validate_config():
    """验证配置是否正确加载并打印关键配置信息"""
    logger.info("加载配置...")
    logger.info(f"TDengine URL: {TDENGINE_CONFIG['url']}")
    logger.info(f"TDengine 数据库: {TDENGINE_CONFIG['database']}")
    logger.info(f"API服务器地址: {API_CONFIG['base_url']}")
    logger.info(f"API服务器端口: {API_CONFIG['port']}")
    logger.info(f"图片目录: {APP_CONFIG['images_dir']}")

    # 确保图片目录存在
    os.makedirs(APP_CONFIG['images_dir'], exist_ok=True)
    
    return True

# 获取图片URL
def get_image_url(file_name):
    """返回图片的完整URL"""
    print(f"{API_CONFIG['base_url']}/static/images/{file_name}")
    return f"{API_CONFIG['base_url']}/static/images/{file_name}"

if __name__ == "__main__":
    validate_config()
    print("配置加载完成!") 