重构代码

This commit is contained in:
2025-01-06 14:54:41 +08:00
parent c2417fec25
commit c7d2d482da
13 changed files with 519 additions and 439 deletions

58
main.py
View File

@@ -5,25 +5,55 @@ Contact: yt.li2@siat.ac.cn
"""
from fastapi import FastAPI
import logging
import os
from database.material_project_router import router as material_project_router
from database.oqmd_router import router as oqmd_router
from model.fairchem_router import router as fairchem_router, init_model
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
from fastapi.middleware.cors import CORSMiddleware
from fastapi.middleware import Middleware
from starlette.middleware.base import BaseHTTPMiddleware
from router.mp_router import router as material_router
from router.oqmd_router import router as oqmd_router
from router.fairchem_router import router as fairchem_router
from error_handlers import (
handle_general_error,
handle_http_error,
handle_validation_error
)
logger = logging.getLogger(__name__)
from utils import setup_logging
from router.fairchem_router import init_model
app = FastAPI()
# 初始化日志配置
setup_logging()
# 创建中间件列表
middleware = [
Middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
]
app = FastAPI(middleware=middleware)
@app.on_event("startup")
def startup_event():
async def startup_event():
"""应用启动时初始化模型"""
init_model()
app.include_router(material_project_router)
# 注册路由
app.include_router(material_router)
app.include_router(oqmd_router)
app.include_router(fairchem_router)
# 添加全局异常处理
@app.exception_handler(Exception)
async def global_exception_handler(request, exc):
return handle_general_error(exc)
@app.exception_handler(ValueError)
async def validation_exception_handler(request, exc):
return handle_validation_error(exc)
@app.exception_handler(ConnectionError)
async def http_exception_handler(request, exc):
return handle_http_error(exc)