fix: rss.parser set to default value when subscribe Bangumi

This commit is contained in:
KotaHv
2024-01-24 21:09:25 +08:00
parent 6973773b53
commit 2149182a54
4 changed files with 14 additions and 7 deletions

View File

@@ -194,7 +194,7 @@ async def download_collection(data: Bangumi):
@router.post(
"/subscribe", response_model=APIResponse, dependencies=[Depends(get_current_user)]
)
async def subscribe(data: Bangumi):
async def subscribe(data: Bangumi, rss: RSSItem):
with SeasonCollector() as collector:
resp = collector.subscribe_season(data)
resp = collector.subscribe_season(data, parser=rss.parser)
return u_response(resp)

View File

@@ -46,12 +46,15 @@ class SeasonCollector(DownloadClient):
)
@staticmethod
def subscribe_season(data: Bangumi):
def subscribe_season(data: Bangumi, parser: str = "mikan"):
with RSSEngine() as engine:
data.added = True
data.eps_collect = True
engine.add_rss(
rss_link=data.rss_link, name=data.official_title, aggregate=False
rss_link=data.rss_link,
name=data.official_title,
aggregate=False,
parser=parser,
)
result = engine.download_bangumi(data)
engine.bangumi.add(data)

View File

@@ -42,12 +42,16 @@ export const apiDownload = {
* 新番
* @param bangumiData - Bangumi 数据
*/
async subscribe(bangumiData: BangumiRule) {
const postData: BangumiAPI = {
async subscribe(bangumiData: BangumiRule, rss: RSS) {
const bangumi: BangumiAPI = {
...bangumiData,
filter: bangumiData.filter.join(','),
rss_link: bangumiData.rss_link.join(','),
};
const postData = {
data: bangumi,
rss,
};
const { data } = await axios.post<ApiSuccess>(
'api/v1/rss/subscribe',
postData

View File

@@ -96,7 +96,7 @@ async function subscribe() {
if (rule.value) {
try {
loading.subscribe = true;
const res = await apiDownload.subscribe(rule.value);
const res = await apiDownload.subscribe(rule.value, rss.value);
loading.subscribe = false;
if (res) {
message.success('Subscribe Success!');