mirror of
https://github.com/snailyp/gemini-balance.git
synced 2026-05-12 02:19:59 +08:00
重构项目目录结构,提高代码组织性和可维护性 将schemas目录重命名为domain,更好地表达领域模型概念 将services目录细分为service/chat、service/image等子目录 将api目录重命名为router,更符合FastAPI惯例 创建utils目录存放通用工具函数 更新FastAPI应用程序生命周期管理 替换已弃用的on_event方法为推荐的lifespan事件处理器 添加应用程序关闭时的日志记录 代码质量改进 抽取常量到constants.py,减少硬编码值 添加helpers.py提供通用工具函数 优化配置管理,使用环境变量和默认值 完善文档字符串,提高代码可读性
40 lines
1.0 KiB
Python
40 lines
1.0 KiB
Python
"""
|
|
应用程序初始化模块
|
|
"""
|
|
import logging
|
|
from pathlib import Path
|
|
from typing import List
|
|
|
|
logger = logging.getLogger("initialization")
|
|
|
|
|
|
def ensure_directories_exist(directories: List[str]) -> None:
|
|
"""
|
|
确保指定的目录存在,如果不存在则创建
|
|
|
|
Args:
|
|
directories: 要确保存在的目录列表
|
|
"""
|
|
for directory in directories:
|
|
try:
|
|
Path(directory).mkdir(parents=True, exist_ok=True)
|
|
logger.info(f"Ensured directory exists: {directory}")
|
|
except Exception as e:
|
|
logger.error(f"Failed to create directory {directory}: {str(e)}")
|
|
|
|
|
|
def initialize_app() -> None:
|
|
"""
|
|
初始化应用程序,确保所需的目录和文件都存在
|
|
"""
|
|
# 确保必要的目录存在
|
|
required_directories = [
|
|
"app/static/css",
|
|
"app/static/js",
|
|
"app/static/icons",
|
|
"app/templates",
|
|
]
|
|
|
|
ensure_directories_exist(required_directories)
|
|
logger.info("Application initialization completed")
|