You've already forked DataMate
feat(annotation): 支持图像标注项目并添加内置标注模板
- 扩展标注编辑器支持 TEXT/IMAGE 数据类型 - 添加三个内置图像标注模板:目标检测、语义分割(掩码)、语义分割(多边形) - 实现内置标注模板的数据库初始化功能 - 集成标注配置验证和模板管理服务 - 更新项目不支持提示信息以反映新的数据类型支持
This commit is contained in:
@@ -9,6 +9,7 @@ from starlette.exceptions import HTTPException as StarletteHTTPException
|
||||
from .core.config import settings
|
||||
from .core.logging import setup_logging, get_logger
|
||||
from .db.session import AsyncSessionLocal
|
||||
from .module.annotation.service.builtin_templates import ensure_builtin_annotation_templates
|
||||
from .exception import (
|
||||
starlette_http_exception_handler,
|
||||
fastapi_http_exception_handler,
|
||||
@@ -31,7 +32,15 @@ async def lifespan(app: FastAPI):
|
||||
try:
|
||||
async with AsyncSessionLocal() as session:
|
||||
await session.execute(text("SELECT 1"))
|
||||
logger.info(f"Database: mysql+aiomysql://{'*' * len(settings.mysql_user)}:{'*' * len(settings.mysql_password)}@{settings.mysql_host}:{settings.mysql_port}/{settings.mysql_database}")
|
||||
logger.info(f"Database: mysql+aiomysql://{'*' * len(settings.mysql_user)}:{'*' * len(settings.mysql_password)}@{settings.mysql_host}:{settings.mysql_port}/{settings.mysql_database}")
|
||||
try:
|
||||
inserted = await ensure_builtin_annotation_templates(session)
|
||||
if inserted > 0:
|
||||
logger.info(f"内置标注模板初始化完成,新增 {inserted} 条")
|
||||
else:
|
||||
logger.info("内置标注模板已存在,跳过初始化")
|
||||
except Exception as e:
|
||||
logger.error(f"内置标注模板初始化失败: {e}")
|
||||
except Exception as e:
|
||||
logger.error(f"Database connection validation failed: {e}")
|
||||
logger.debug(f"Connection details: {settings.database_url}")
|
||||
|
||||
Reference in New Issue
Block a user