blueprints.py 978 Bytes
"""Blueprint registration helpers for the web API."""

from __future__ import annotations

from flask import Flask
from loguru import logger

from backend.config_routes import config_bp
from backend.crawler import crawler_bp
from backend.research_routes import research_bp, research_task_resource_bp


def register_blueprints(app: Flask) -> None:
    """Register core Flask blueprints."""
    app.register_blueprint(crawler_bp)
    app.register_blueprint(research_bp)
    app.register_blueprint(research_task_resource_bp)
    app.register_blueprint(config_bp)
    logger.info("Core web API blueprints registered")

    try:
        from services.engines.report.flask_interface import report_bp
    except ImportError as exc:
        logger.error(f"ReportEngine 导入失败: {exc}")
        logger.info("ReportEngine 不可用,跳过接口注册")
        return

    app.register_blueprint(report_bp, url_prefix="/api/report")
    logger.info("ReportEngine 接口已注册")