mirror of
https://github.com/zoriya/Kyoo.git
synced 2025-06-23 15:30:34 -04:00
Use fastapi router
This commit is contained in:
parent
c2ca1361fe
commit
f8331c083a
@ -5,16 +5,19 @@ from contextlib import asynccontextmanager
|
|||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
|
|
||||||
from scanner.client import KyooClient
|
from scanner.client import KyooClient
|
||||||
from .database import get_db, init_pool
|
|
||||||
from scanner.fsscan import Scanner
|
from scanner.fsscan import Scanner
|
||||||
from scanner.providers.composite import CompositeProvider
|
from scanner.providers.composite import CompositeProvider
|
||||||
from scanner.providers.themoviedatabase import TheMovieDatabase
|
from scanner.providers.themoviedatabase import TheMovieDatabase
|
||||||
from scanner.requests import RequestCreator, RequestProcessor
|
from scanner.requests import RequestCreator, RequestProcessor
|
||||||
|
|
||||||
logging.basicConfig(level=logging.INFO)
|
from .database import get_db, init_pool
|
||||||
|
from .routers.routes import router
|
||||||
|
|
||||||
|
logging.basicConfig(level=logging.DEBUG)
|
||||||
logging.getLogger("watchfiles").setLevel(logging.WARNING)
|
logging.getLogger("watchfiles").setLevel(logging.WARNING)
|
||||||
logging.getLogger("rebulk").setLevel(logging.WARNING)
|
logging.getLogger("rebulk").setLevel(logging.WARNING)
|
||||||
|
|
||||||
|
|
||||||
@asynccontextmanager
|
@asynccontextmanager
|
||||||
async def lifespan(_):
|
async def lifespan(_):
|
||||||
async with (
|
async with (
|
||||||
@ -33,8 +36,8 @@ async def lifespan(_):
|
|||||||
# there's no way someone else used the same id, right?
|
# there's no way someone else used the same id, right?
|
||||||
is_master = await db.fetchval("select pg_try_advisory_lock(198347)")
|
is_master = await db.fetchval("select pg_try_advisory_lock(198347)")
|
||||||
if is_master:
|
if is_master:
|
||||||
_ = await asyncio.create_task(scanner.scan(remove_deleted=True))
|
_ = asyncio.create_task(scanner.monitor())
|
||||||
_ = await asyncio.create_task(scanner.monitor())
|
_ = asyncio.create_task(scanner.scan(remove_deleted=True))
|
||||||
yield
|
yield
|
||||||
|
|
||||||
|
|
||||||
@ -45,3 +48,4 @@ app = FastAPI(
|
|||||||
root_path="/scanner",
|
root_path="/scanner",
|
||||||
lifespan=lifespan,
|
lifespan=lifespan,
|
||||||
)
|
)
|
||||||
|
app.include_router(router)
|
||||||
|
@ -1,20 +1,21 @@
|
|||||||
from typing import Annotated
|
from typing import Annotated
|
||||||
|
|
||||||
from fastapi import BackgroundTasks, Depends, Security
|
from fastapi import APIRouter, BackgroundTasks, Depends, Security
|
||||||
|
|
||||||
from scanner import app
|
from ..fsscan import Scanner
|
||||||
from scanner.fsscan import Scanner
|
from ..jwt import validate_bearer
|
||||||
from scanner.jwt import validate_bearer
|
|
||||||
|
router = APIRouter()
|
||||||
|
|
||||||
|
|
||||||
@app.put(
|
@router.put(
|
||||||
"/scan",
|
"/scan",
|
||||||
status_code=204,
|
status_code=204,
|
||||||
response_description="Scan started.",
|
response_description="Scan started.",
|
||||||
)
|
)
|
||||||
async def trigger_scan(
|
async def trigger_scan(
|
||||||
tasks: BackgroundTasks,
|
tasks: BackgroundTasks,
|
||||||
scanner: Annotated[Scanner, Depends],
|
# scanner: Annotated[Scanner, Depends],
|
||||||
_: Annotated[None, Security(validate_bearer, scopes=["scanner.trigger"])],
|
_: Annotated[None, Security(validate_bearer, scopes=["scanner.trigger"])],
|
||||||
):
|
):
|
||||||
"""
|
"""
|
Loading…
x
Reference in New Issue
Block a user