修改引入路径移除src
This commit is contained in:
@@ -6,9 +6,9 @@ from typing import Generator, Optional
|
|||||||
from fastapi import Depends, HTTPException, status
|
from fastapi import Depends, HTTPException, status
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
|
||||||
from src.database.connection import db_manager, get_db
|
from database.connection import db_manager, get_db
|
||||||
from src.repositories.face_feature_repository import FaceFeatureRepository
|
from repositories.face_feature_repository import FaceFeatureRepository
|
||||||
from src.services.face_feature_service import FaceFeatureService
|
from services.face_feature_service import FaceFeatureService
|
||||||
|
|
||||||
|
|
||||||
def get_face_feature_repository(
|
def get_face_feature_repository(
|
||||||
|
|||||||
@@ -9,18 +9,18 @@ from datetime import datetime, timedelta
|
|||||||
|
|
||||||
from fastapi import APIRouter, HTTPException, BackgroundTasks
|
from fastapi import APIRouter, HTTPException, BackgroundTasks
|
||||||
|
|
||||||
from src.config import settings
|
from config import settings
|
||||||
from src.database.connection import db_manager
|
from database.connection import db_manager
|
||||||
from src.models.face_feature import FeatureStatus
|
from models.face_feature import FeatureStatus
|
||||||
from src.models.video_check_task import SurVideoCheckTask
|
from models.video_check_task import SurVideoCheckTask
|
||||||
from src.models.sur_config import SurConfigBase
|
from models.sur_config import SurConfigBase
|
||||||
from src.models.sur_person import SurPersonBlacklist, SurFaceFeature
|
from models.sur_person import SurPersonBlacklist, SurFaceFeature
|
||||||
from src.repositories.face_feature_repository import FaceFeatureRepository
|
from repositories.face_feature_repository import FaceFeatureRepository
|
||||||
from src.algorithm.face_recognition_algorithm import FaceRecognitionAlgorithm
|
from algorithm.face_recognition_algorithm import FaceRecognitionAlgorithm
|
||||||
from src.biz.base_face_biz import BaseFaceBiz
|
from biz.base_face_biz import BaseFaceBiz
|
||||||
from src.biz.video_check_biz import VideoCheckBiz
|
from biz.video_check_biz import VideoCheckBiz
|
||||||
from src.biz.video_face_biz import VideoFaceBiz
|
from biz.video_face_biz import VideoFaceBiz
|
||||||
from src.repositories.video_check_repository import VideoCheckTaskRepository
|
from repositories.video_check_repository import VideoCheckTaskRepository
|
||||||
|
|
||||||
# 创建路由器
|
# 创建路由器
|
||||||
router = APIRouter(prefix="/algorithm", tags=["algorithm"])
|
router = APIRouter(prefix="/algorithm", tags=["algorithm"])
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from datetime import datetime
|
|||||||
from fastapi import APIRouter, Depends, HTTPException, status, Query, BackgroundTasks
|
from fastapi import APIRouter, Depends, HTTPException, status, Query, BackgroundTasks
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
|
|
||||||
from src.schemas.face_feature import (
|
from schemas.face_feature import (
|
||||||
FaceFeatureCreate,
|
FaceFeatureCreate,
|
||||||
FaceFeatureUpdate,
|
FaceFeatureUpdate,
|
||||||
FaceFeatureQuery,
|
FaceFeatureQuery,
|
||||||
@@ -17,17 +17,17 @@ from src.schemas.face_feature import (
|
|||||||
BatchFaceFeatureCreate,
|
BatchFaceFeatureCreate,
|
||||||
FeatureStatus
|
FeatureStatus
|
||||||
)
|
)
|
||||||
from src.api.dependencies import (
|
from api.dependencies import (
|
||||||
get_face_feature_service,
|
get_face_feature_service,
|
||||||
get_face_feature_by_id
|
get_face_feature_by_id
|
||||||
)
|
)
|
||||||
from src.services.face_feature_service import FaceFeatureService
|
from services.face_feature_service import FaceFeatureService
|
||||||
from src.api.errors import (
|
from api.errors import (
|
||||||
FaceFeatureProcessingError,
|
FaceFeatureProcessingError,
|
||||||
FeatureNotFoundError,
|
FeatureNotFoundError,
|
||||||
DuplicateFeatureError
|
DuplicateFeatureError
|
||||||
)
|
)
|
||||||
from src.config import settings
|
from config import settings
|
||||||
|
|
||||||
# 创建路由器
|
# 创建路由器
|
||||||
router = APIRouter(
|
router = APIRouter(
|
||||||
|
|||||||
16
src/app.py
16
src/app.py
@@ -17,18 +17,18 @@ from fastapi.openapi.docs import (
|
|||||||
)
|
)
|
||||||
from fastapi.staticfiles import StaticFiles
|
from fastapi.staticfiles import StaticFiles
|
||||||
|
|
||||||
from src.api.routes import face_features
|
from api.routes import face_features
|
||||||
from src.api.routes.algorithm_router import router as algorithm_router, sync_videofacebiz_params, sync_videofacebiz_blacklist
|
from api.routes.algorithm_router import router as algorithm_router, sync_videofacebiz_params, sync_videofacebiz_blacklist
|
||||||
from src.api.errors import (
|
from api.errors import (
|
||||||
APIError,
|
APIError,
|
||||||
validation_exception_handler,
|
validation_exception_handler,
|
||||||
api_error_handler,
|
api_error_handler,
|
||||||
generic_exception_handler
|
generic_exception_handler
|
||||||
)
|
)
|
||||||
from src.config import settings
|
from config import settings
|
||||||
from src.database.connection import init_database
|
from database.connection import init_database
|
||||||
from src.database.connection import db_manager
|
from database.connection import db_manager
|
||||||
from src.rtsp.service import rtsp_server
|
from rtsp.service import rtsp_server
|
||||||
|
|
||||||
|
|
||||||
# 生命周期管理
|
# 生命周期管理
|
||||||
@@ -134,7 +134,7 @@ app.add_middleware(
|
|||||||
|
|
||||||
app.add_middleware(
|
app.add_middleware(
|
||||||
TrustedHostMiddleware,
|
TrustedHostMiddleware,
|
||||||
allowed_hosts=["*"] if settings.DEBUG else ["localhost", "127.0.0.1"]
|
allowed_hosts=["*"] if settings.DEBUG else ["localhost", "127.0.0.1", "0.0.0.0"]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ from typing import Optional, List, Dict
|
|||||||
import os
|
import os
|
||||||
from insightface.app import FaceAnalysis
|
from insightface.app import FaceAnalysis
|
||||||
|
|
||||||
from src.biz.base_face_biz import BaseFaceBiz
|
from biz.base_face_biz import BaseFaceBiz
|
||||||
|
|
||||||
|
|
||||||
class VideoCheckBiz(BaseFaceBiz):
|
class VideoCheckBiz(BaseFaceBiz):
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import numpy as np
|
|||||||
from typing import Optional, List, Dict
|
from typing import Optional, List, Dict
|
||||||
import time
|
import time
|
||||||
from insightface.app import FaceAnalysis
|
from insightface.app import FaceAnalysis
|
||||||
from src.biz.base_face_biz import BaseFaceBiz
|
from biz.base_face_biz import BaseFaceBiz
|
||||||
|
|
||||||
class VideoFaceBiz(BaseFaceBiz):
|
class VideoFaceBiz(BaseFaceBiz):
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ from sqlalchemy.ext.asyncio import (
|
|||||||
async_sessionmaker
|
async_sessionmaker
|
||||||
)
|
)
|
||||||
|
|
||||||
from src.config import settings
|
from config import settings
|
||||||
from src.utils.logger import setup_logger
|
from utils.logger import setup_logger
|
||||||
|
|
||||||
logger = setup_logger(__name__)
|
logger = setup_logger(__name__)
|
||||||
|
|
||||||
|
|||||||
12
src/main.py
12
src/main.py
@@ -6,12 +6,12 @@
|
|||||||
import asyncio
|
import asyncio
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
|
||||||
from src.config import settings
|
from config import settings
|
||||||
from src.database.connection import db_manager, init_database
|
from database.connection import db_manager, init_database
|
||||||
from src.models.face_feature import SurFaceFeature
|
from models.face_feature import SurFaceFeature
|
||||||
from src.repositories.face_feature_repository import FaceFeatureRepository
|
from repositories.face_feature_repository import FaceFeatureRepository
|
||||||
from src.services.face_feature_service import FaceFeatureService
|
from services.face_feature_service import FaceFeatureService
|
||||||
from src.schemas.face_feature import (
|
from schemas.face_feature import (
|
||||||
FaceFeatureCreate,
|
FaceFeatureCreate,
|
||||||
FaceFeatureUpdate,
|
FaceFeatureUpdate,
|
||||||
FaceFeatureQuery,
|
FaceFeatureQuery,
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ from sqlalchemy import (
|
|||||||
from sqlalchemy.dialects.postgresql import BYTEA
|
from sqlalchemy.dialects.postgresql import BYTEA
|
||||||
from sqlalchemy.sql import func
|
from sqlalchemy.sql import func
|
||||||
|
|
||||||
from src.database.base import BaseModel
|
from database.base import BaseModel
|
||||||
|
|
||||||
|
|
||||||
class FeatureStatus(IntEnum):
|
class FeatureStatus(IntEnum):
|
||||||
|
|||||||
@@ -12,15 +12,15 @@ from sqlalchemy import select, update, delete, func, and_, or_, desc, asc
|
|||||||
from sqlalchemy.orm import Session, joinedload
|
from sqlalchemy.orm import Session, joinedload
|
||||||
from sqlalchemy.exc import SQLAlchemyError, IntegrityError
|
from sqlalchemy.exc import SQLAlchemyError, IntegrityError
|
||||||
|
|
||||||
from src.models.face_feature import SurFaceFeature
|
from models.face_feature import SurFaceFeature
|
||||||
from src.schemas.face_feature import (
|
from schemas.face_feature import (
|
||||||
FaceFeatureCreate,
|
FaceFeatureCreate,
|
||||||
FaceFeatureUpdate,
|
FaceFeatureUpdate,
|
||||||
FaceFeatureQuery,
|
FaceFeatureQuery,
|
||||||
FeatureStatus
|
FeatureStatus
|
||||||
)
|
)
|
||||||
from src.models.face_feature import FeatureStatusEnum
|
from models.face_feature import FeatureStatusEnum
|
||||||
from src.utils.logger import setup_logger
|
from utils.logger import setup_logger
|
||||||
|
|
||||||
logger = setup_logger(__name__)
|
logger = setup_logger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ from typing import List, Optional, Dict, Any
|
|||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
from sqlalchemy import and_
|
from sqlalchemy import and_
|
||||||
|
|
||||||
from src.models.video_check_task import SurVideoCheckTask, SurVideo, SurConfigBase
|
from models.video_check_task import SurVideoCheckTask, SurVideo, SurConfigBase
|
||||||
from src.config import settings
|
from config import settings
|
||||||
|
|
||||||
|
|
||||||
class VideoCheckTaskRepository:
|
class VideoCheckTaskRepository:
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ RTSP 服务模块 - 简洁版本,直接使用原始服务
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
import threading
|
import threading
|
||||||
from src.rtsp_service_ws_1217 import RTSPService
|
from rtsp_service_ws_1217 import RTSPService
|
||||||
|
|
||||||
|
|
||||||
class SimpleRTSPServer:
|
class SimpleRTSPServer:
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ import torch
|
|||||||
|
|
||||||
# 导入人脸识别算法
|
# 导入人脸识别算法
|
||||||
try:
|
try:
|
||||||
from src.api.routes.algorithm_router import video_face_biz
|
from api.routes.algorithm_router import video_face_biz
|
||||||
|
|
||||||
print("[INFO] 成功导入人脸识别算法")
|
print("[INFO] 成功导入人脸识别算法")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ FastAPI应用启动脚本
|
|||||||
|
|
||||||
import uvicorn
|
import uvicorn
|
||||||
import argparse
|
import argparse
|
||||||
from src.config import settings
|
from config import settings
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
@@ -77,7 +77,7 @@ def main():
|
|||||||
print(f"📊 健康检查: http://{args.host}:{args.port}/health")
|
print(f"📊 健康检查: http://{args.host}:{args.port}/health")
|
||||||
|
|
||||||
uvicorn.run(
|
uvicorn.run(
|
||||||
"src.app:app",
|
"app:app",
|
||||||
**uvicorn_config
|
**uvicorn_config
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -7,8 +7,8 @@ from datetime import datetime
|
|||||||
from typing import Optional, List, Dict, Any
|
from typing import Optional, List, Dict, Any
|
||||||
from contextlib import contextmanager
|
from contextlib import contextmanager
|
||||||
|
|
||||||
from src.repositories.face_feature_repository import FaceFeatureRepository
|
from repositories.face_feature_repository import FaceFeatureRepository
|
||||||
from src.schemas.face_feature import (
|
from schemas.face_feature import (
|
||||||
FaceFeatureCreate,
|
FaceFeatureCreate,
|
||||||
FaceFeatureUpdate,
|
FaceFeatureUpdate,
|
||||||
FaceFeatureQuery,
|
FaceFeatureQuery,
|
||||||
@@ -18,8 +18,8 @@ from src.schemas.face_feature import (
|
|||||||
BatchFaceFeatureCreate,
|
BatchFaceFeatureCreate,
|
||||||
FeatureStatus
|
FeatureStatus
|
||||||
)
|
)
|
||||||
from src.models.face_feature import FeatureStatusEnum
|
from models.face_feature import FeatureStatusEnum
|
||||||
from src.utils.logger import setup_logger
|
from utils.logger import setup_logger
|
||||||
|
|
||||||
logger = setup_logger(__name__)
|
logger = setup_logger(__name__)
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import sys
|
|||||||
from typing import Optional
|
from typing import Optional
|
||||||
from logging.handlers import RotatingFileHandler
|
from logging.handlers import RotatingFileHandler
|
||||||
|
|
||||||
from src.config import settings
|
from config import settings
|
||||||
|
|
||||||
|
|
||||||
def setup_logger(
|
def setup_logger(
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import cv2
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
import time
|
import time
|
||||||
import os
|
import os
|
||||||
from src.algorithm.face_recognition_algorithm import FaceRecognitionAlgorithm
|
from algorithm.face_recognition_algorithm import FaceRecognitionAlgorithm
|
||||||
|
|
||||||
|
|
||||||
def process_video_file(algorithm: FaceRecognitionAlgorithm, video_path: str, output_path: str = None,
|
def process_video_file(algorithm: FaceRecognitionAlgorithm, video_path: str, output_path: str = None,
|
||||||
|
|||||||
Reference in New Issue
Block a user