mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-14 15:15:22 +03:00
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
import logging
|
|
|
|
from fastapi import FastAPI
|
|
|
|
from frigate.api import app as main_app
|
|
from frigate.api import media, preview
|
|
from frigate.plus import PlusApi
|
|
from frigate.ptz.onvif import OnvifController
|
|
from frigate.stats.emitter import StatsEmitter
|
|
from frigate.storage import StorageMaintainer
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
def create_fastapi_app(
|
|
frigate_config,
|
|
detected_frames_processor,
|
|
storage_maintainer: StorageMaintainer,
|
|
onvif: OnvifController,
|
|
plus_api: PlusApi,
|
|
stats_emitter: StatsEmitter,
|
|
):
|
|
logger.info("Starting FastAPI app")
|
|
app = FastAPI(
|
|
debug=False,
|
|
swagger_ui_parameters={"apisSorter": "alpha", "operationsSorter": "alpha"},
|
|
)
|
|
# Routes
|
|
app.include_router(main_app.router)
|
|
app.include_router(media.router)
|
|
app.include_router(preview.router)
|
|
# App Properties
|
|
app.frigate_config = frigate_config
|
|
app.detected_frames_processor = detected_frames_processor
|
|
app.storage_maintainer = storage_maintainer
|
|
app.camera_error_image = None
|
|
app.onvif = onvif
|
|
app.plus_api = plus_api
|
|
app.stats_emitter = stats_emitter
|
|
|
|
return app
|