add douban image proxy
This commit is contained in:
@ -1,13 +1,14 @@
|
|||||||
from typing import List, Any
|
from typing import List, Any
|
||||||
|
|
||||||
from fastapi import APIRouter, Depends
|
from fastapi import APIRouter, Depends, Response, BackgroundTasks
|
||||||
from fastapi import BackgroundTasks
|
|
||||||
|
|
||||||
from app import schemas
|
from app import schemas
|
||||||
from app.chain.douban import DoubanChain
|
from app.chain.douban import DoubanChain
|
||||||
|
from app.core.config import settings
|
||||||
from app.core.context import MediaInfo
|
from app.core.context import MediaInfo
|
||||||
from app.core.security import verify_token
|
from app.core.security import verify_token
|
||||||
from app.schemas import MediaType
|
from app.schemas import MediaType
|
||||||
|
from app.utils.http import RequestUtils
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
@ -30,6 +31,21 @@ def sync_douban(
|
|||||||
return schemas.Response(success=True, message="任务已启动")
|
return schemas.Response(success=True, message="任务已启动")
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/img/{imgurl:path}", summary="豆瓣图片代理")
|
||||||
|
def douban_img(imgurl: str) -> Any:
|
||||||
|
"""
|
||||||
|
豆瓣图片代理
|
||||||
|
"""
|
||||||
|
if not imgurl:
|
||||||
|
return None
|
||||||
|
response = RequestUtils(headers={
|
||||||
|
'Referer': "https://movie.douban.com/"
|
||||||
|
}, ua=settings.USER_AGENT).get_res(url=imgurl)
|
||||||
|
if response:
|
||||||
|
return Response(content=response.content, media_type="image/jpeg")
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
@router.get("/recognize/{doubanid}", summary="豆瓣ID识别", response_model=schemas.Context)
|
@router.get("/recognize/{doubanid}", summary="豆瓣ID识别", response_model=schemas.Context)
|
||||||
def recognize_doubanid(doubanid: str,
|
def recognize_doubanid(doubanid: str,
|
||||||
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||||
|
@ -400,8 +400,6 @@ class MediaInfo:
|
|||||||
self.poster_path = info.get("pic", {}).get("large")
|
self.poster_path = info.get("pic", {}).get("large")
|
||||||
if not self.poster_path and info.get("cover_url"):
|
if not self.poster_path and info.get("cover_url"):
|
||||||
self.poster_path = info.get("cover_url")
|
self.poster_path = info.get("cover_url")
|
||||||
if self.poster_path:
|
|
||||||
self.poster_path = self.poster_path.replace("m_ratio_poster", "l_ratio_poster")
|
|
||||||
# 简介
|
# 简介
|
||||||
if not self.overview:
|
if not self.overview:
|
||||||
self.overview = info.get("intro") or info.get("card_subtitle") or ""
|
self.overview = info.get("intro") or info.get("card_subtitle") or ""
|
||||||
|
Reference in New Issue
Block a user