mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-06 07:56:52 +08:00
feat: support YemaPT Open API (#6227)
This commit is contained in:
+12
-1
@@ -7,7 +7,7 @@ import shutil
|
||||
import time
|
||||
from pathlib import Path
|
||||
from typing import List, Optional, Tuple, Set, Dict, Union
|
||||
from urllib.parse import parse_qs, urljoin, urlparse
|
||||
from urllib.parse import parse_qs, urlencode, urljoin, urlparse
|
||||
|
||||
from app import schemas
|
||||
from app.chain import ChainBase
|
||||
@@ -713,10 +713,21 @@ class DownloadChain(ChainBase):
|
||||
return res.text
|
||||
else:
|
||||
data = res.json()
|
||||
success_key = req_params.get('success')
|
||||
if success_key and not data.get(success_key):
|
||||
return None
|
||||
for key in str(req_params.get('result')).split("."):
|
||||
data = data.get(key)
|
||||
if not data:
|
||||
return None
|
||||
result_path = req_params.get('result_path')
|
||||
result_query_param = req_params.get('result_query_param')
|
||||
if result_path and result_query_param:
|
||||
result_url = urljoin(
|
||||
f"{str(req_params.get('result_base_url')).rstrip('/')}/",
|
||||
str(result_path).lstrip('/'),
|
||||
)
|
||||
return f"{result_url}?{urlencode({result_query_param: data})}"
|
||||
data = self._normalize_indirect_download_url(
|
||||
url=data,
|
||||
base_url=req_params.get('result_base_url'),
|
||||
|
||||
Reference in New Issue
Block a user