Files
Auto_Bangumi/backend/src/module/api/search.py
2023-10-02 13:16:31 +08:00

32 lines
936 B
Python

from fastapi import APIRouter, Depends, Query
from sse_starlette.sse import EventSourceResponse
from module.models import Bangumi
from module.searcher import SEARCH_CONFIG, SearchTorrent
from module.security.api import UNAUTHORIZED, get_current_user
router = APIRouter(prefix="/search", tags=["search"])
@router.get(
"/bangumi", response_model=list[Bangumi], dependencies=[Depends(get_current_user)]
)
async def search_torrents(site: str = "mikan", keywords: str = Query(None)):
"""
Server Send Event for per Bangumi item
"""
if not keywords:
return []
keywords = keywords.split(" ")
with SearchTorrent() as st:
return EventSourceResponse(
content=st.analyse_keyword(keywords=keywords, site=site),
)
@router.get(
"/provider", response_model=list[str], dependencies=[Depends(get_current_user)]
)
async def search_provider():
return list(SEARCH_CONFIG.keys())