This commit is contained in:
jxxghp
2024-06-21 11:49:07 +08:00
parent bfbeae7fa7
commit 5deb0089bb
4 changed files with 84 additions and 12 deletions

View File

@ -98,27 +98,30 @@ def search(title: str,
@router.get("/scrape", summary="刮削媒体信息", response_model=schemas.Response)
def scrape(path: str, storage: str = "local",
def scrape(fileitem: schemas.FileItem,
storage: str = "local",
_: schemas.TokenPayload = Depends(verify_token)) -> Any:
"""
刮削媒体信息
"""
if not path:
if not fileitem:
return schemas.Response(success=False, message="刮削路径无效")
chain = MediaChain()
# 识别媒体信息
meta = MetaInfoPath(path)
meta = MetaInfoPath(fileitem.path)
mediainfo = chain.recognize_media(meta)
if not media_info:
return schemas.Response(success=False, message="刮削失败,无法识别媒体信息")
if storage == "local":
scrape_path = Path(path)
scrape_path = Path(fileitem.path)
if not scrape_path.exists():
return schemas.Response(success=False, message="刮削路径不存在")
# 刮削
chain.scrape_metadata(path=scrape_path, mediainfo=mediainfo, transfer_type=settings.TRANSFER_TYPE)
else:
chain.scrape_metadata_online(storage=storage, path=path, mediainfo=mediainfo)
if not fileitem.fileid:
return schemas.Response(success=False, message="刮削文件ID无效")
chain.scrape_metadata_online(storage=storage, fileitem=fileitem, meta=meta, mediainfo=mediainfo)
return schemas.Response(success=True, message="刮削完成")