refactor: centralize MoviePilot server helper

This commit is contained in:
jxxghp
2026-05-27 12:56:45 +08:00
parent db3ad91408
commit 0e5c592862
28 changed files with 1927 additions and 1562 deletions
+7 -9
View File
@@ -21,8 +21,8 @@ from app.core.module import ModuleManager
from app.core.plugin import PluginManager
from app.db.message_oper import MessageOper
from app.db.user_oper import UserOper
from app.helper.recognize import MediaRecognizeShareHelper
from app.helper.message import MessageHelper, MessageQueueManager, MessageTemplateHelper
from app.helper.server import MoviePilotServerHelper
from app.helper.service import ServiceConfigHelper
from app.log import logger
from app.schemas import (
@@ -591,7 +591,6 @@ class ChainBase(metaclass=ABCMeta):
elif not mtype and meta and meta.type in [MediaType.TV, MediaType.MOVIE]:
mtype = meta.type
share_query_meta = share_meta or meta
share_helper = MediaRecognizeShareHelper()
with fresh(not cache):
mediainfo = self.run_module(
"recognize_media",
@@ -605,7 +604,7 @@ class ChainBase(metaclass=ABCMeta):
)
if mediainfo:
if not mediainfo.recognize_cache_hit:
share_helper.report(
MoviePilotServerHelper.report_recognize_share(
meta=meta,
mediainfo=mediainfo,
keyword_meta=share_query_meta,
@@ -616,12 +615,12 @@ class ChainBase(metaclass=ABCMeta):
share_query_meta, tmdbid, doubanid, bangumiid
):
shared_cache_meta = self._snapshot_recognize_cache_meta(meta)
shared_item = share_helper.query(
shared_item = MoviePilotServerHelper.query_recognize_share(
meta=meta,
mtype=mtype,
keyword_meta=share_query_meta,
)
shared_params = share_helper.to_recognize_params(shared_item)
shared_params = MoviePilotServerHelper.to_recognize_params(shared_item)
if shared_params:
with fresh(not cache):
mediainfo = self.run_module(
@@ -676,7 +675,6 @@ class ChainBase(metaclass=ABCMeta):
elif not mtype and meta and meta.type in [MediaType.TV, MediaType.MOVIE]:
mtype = meta.type
share_query_meta = share_meta or meta
share_helper = MediaRecognizeShareHelper()
async with async_fresh(not cache):
mediainfo = await self.async_run_module(
"async_recognize_media",
@@ -690,7 +688,7 @@ class ChainBase(metaclass=ABCMeta):
)
if mediainfo:
if not mediainfo.recognize_cache_hit:
await share_helper.async_report(
await MoviePilotServerHelper.async_report_recognize_share(
meta=meta,
mediainfo=mediainfo,
keyword_meta=share_query_meta,
@@ -701,12 +699,12 @@ class ChainBase(metaclass=ABCMeta):
share_query_meta, tmdbid, doubanid, bangumiid
):
shared_cache_meta = self._snapshot_recognize_cache_meta(meta)
shared_item = await share_helper.async_query(
shared_item = await MoviePilotServerHelper.async_query_recognize_share(
meta=meta,
mtype=mtype,
keyword_meta=share_query_meta,
)
shared_params = share_helper.to_recognize_params(shared_item)
shared_params = MoviePilotServerHelper.to_recognize_params(shared_item)
if shared_params:
async with async_fresh(not cache):
mediainfo = await self.async_run_module(
+7 -9
View File
@@ -34,7 +34,7 @@ from app.db.models.subscribe import Subscribe
from app.db.site_oper import SiteOper
from app.db.subscribe_oper import SubscribeOper
from app.db.systemconfig_oper import SystemConfigOper
from app.helper.subscribe import SubscribeHelper
from app.helper.server import MoviePilotServerHelper
from app.helper.torrent import TorrentHelper
from app.log import logger
from app.schemas import MediaRecognizeConvertEventData
@@ -709,7 +709,7 @@ class SubscribeChain(ChainBase):
"mediainfo": mediainfo.to_dict(),
})
# 统计订阅
SubscribeHelper().sub_reg_async({
MoviePilotServerHelper.sub_reg_async({
"name": title,
"year": year,
"type": metainfo.type.value,
@@ -890,7 +890,7 @@ class SubscribeChain(ChainBase):
"mediainfo": mediainfo.to_dict(),
})
# 统计订阅
await SubscribeHelper().async_sub_reg({
await MoviePilotServerHelper.async_sub_reg({
"name": title,
"year": year,
"type": metainfo.type.value,
@@ -1752,7 +1752,7 @@ class SubscribeChain(ChainBase):
logger.info(f'开始刷新follow用户分享订阅 ...')
success_count = 0
subscribeoper = SubscribeOper()
for share_sub in SubscribeHelper().get_shares():
for share_sub in MoviePilotServerHelper.get_subscribe_shares():
if global_vars.is_system_stopped:
break
uid = share_sub.get("share_uid")
@@ -2024,7 +2024,7 @@ class SubscribeChain(ChainBase):
"mediainfo": mediainfo.to_dict(),
})
# 统计订阅
SubscribeHelper().sub_done_async({
MoviePilotServerHelper.sub_done_async({
"tmdbid": mediainfo.tmdb_id,
"doubanid": mediainfo.douban_id
})
@@ -2667,7 +2667,6 @@ class SubscribeChain(ChainBase):
return False, "请输入至少一个有效的订阅 ID"
subscribeoper = SubscribeOper()
subscribehelper = SubscribeHelper()
deleted = []
missing = []
for subscribe_id in subscribe_ids:
@@ -2677,7 +2676,7 @@ class SubscribeChain(ChainBase):
continue
deleted.append(subscribe.name)
subscribeoper.delete(subscribe_id)
subscribehelper.sub_done_async(
MoviePilotServerHelper.sub_done_async(
{
"tmdbid": subscribe.tmdbid,
"doubanid": subscribe.doubanid,
@@ -2706,7 +2705,6 @@ class SubscribeChain(ChainBase):
return
arg_strs = str(arg_str).split()
subscribeoper = SubscribeOper()
subscribehelper = SubscribeHelper()
for arg_str in arg_strs:
arg_str = arg_str.strip()
if not arg_str.isdigit():
@@ -2720,7 +2718,7 @@ class SubscribeChain(ChainBase):
# 删除订阅
subscribeoper.delete(subscribe_id)
# 统计订阅
subscribehelper.sub_done_async({
MoviePilotServerHelper.sub_done_async({
"tmdbid": subscribe.tmdbid,
"doubanid": subscribe.doubanid
})