fix actions

This commit is contained in:
jxxghp
2025-02-19 16:43:42 +08:00
parent 351029a842
commit 1317d9c4f0
8 changed files with 154 additions and 17 deletions
+39 -2
View File
@@ -1,4 +1,8 @@
from app.actions import BaseAction
from app.chain.subscribe import SubscribeChain
from app.core.config import settings
from app.db.subscribe_oper import SubscribeOper
from app.log import logger
from app.schemas import ActionParams, ActionContext
@@ -14,6 +18,13 @@ class AddSubscribeAction(BaseAction):
添加订阅
"""
_added_subscribes = []
def __init__(self):
super().__init__()
self.subscribechain = SubscribeChain()
self.subscribeoper = SubscribeOper()
@property
def name(self) -> str:
return "添加订阅"
@@ -24,7 +35,33 @@ class AddSubscribeAction(BaseAction):
@property
def success(self) -> bool:
return True
return True if self._added_subscribes else False
async def execute(self, params: AddSubscribeParams, context: ActionContext) -> ActionContext:
pass
"""
将medias中的信息添加订阅,如果订阅不存在的话
"""
for media in context.medias:
if self.subscribechain.exists(media):
logger.info(f"{media.title} 已存在订阅")
continue
# 添加订阅
sid, message = self.subscribechain.add(mtype=media.type,
title=media.title,
year=media.year,
tmdbid=media.tmdb_id,
season=media.season,
doubanid=media.douban_id,
bangumiid=media.bangumi_id,
mediaid=media.media_id,
username=settings.SUPERUSER)
if sid:
self._added_subscribes.append(sid)
if self._added_subscribes:
logger.info(f"已添加 {len(self._added_subscribes)} 个订阅")
for sid in self._added_subscribes:
context.subscribes.append(self.subscribeoper.get(sid))
self.job_done()
return context