获取数据目录 Returns: 数据目录 Path 对象
()
| 400 | |
| 401 | |
| 402 | def get_data_dir() -> Path: |
| 403 | """ |
| 404 | 获取数据目录 |
| 405 | |
| 406 | Returns: |
| 407 | 数据目录 Path 对象 |
| 408 | """ |
| 409 | settings = get_settings() |
| 410 | if not settings.database_url.startswith("sqlite"): |
| 411 | data_dir = Path(os.environ.get("APP_DATA_DIR", "data")) |
| 412 | data_dir.mkdir(parents=True, exist_ok=True) |
| 413 | return data_dir |
| 414 | data_dir = Path(settings.database_url).parent |
| 415 | |
| 416 | # 如果 database_url 是 SQLite URL,提取路径 |
| 417 | if settings.database_url.startswith("sqlite:///"): |
| 418 | db_path = settings.database_url[10:] # 移除 "sqlite:///" |
| 419 | data_dir = Path(db_path).parent |
| 420 | |
| 421 | # 确保目录存在 |
| 422 | data_dir.mkdir(parents=True, exist_ok=True) |
| 423 | |
| 424 | return data_dir |
| 425 | |
| 426 | |
| 427 | def get_logs_dir() -> Path: |
nothing calls this directly
no test coverage detected