feat(bangumicoll): 增加多语言标题, 去除多余设置项

This commit is contained in:
Attente
2025-01-11 22:54:45 +08:00
parent f3e5d857c4
commit d2b6a678b5
3 changed files with 17 additions and 50 deletions

View File

@@ -927,12 +927,13 @@
"name": "Bangumi收藏订阅",
"description": "Bangumi用户收藏添加到订阅",
"labels": "订阅",
"version": "1.5.2",
"version": "1.5.3",
"icon": "bangumi_b.png",
"author": "Attente",
"level": 1,
"v2": true,
"history": {
"v1.5.3": "增加多语言标题匹配, 去除未实现设置项",
"v1.5.2": "修复定时任务未正确注册的问题",
"v1.5.1": "修复季度信息未传递的问题. 新增站点列表同步删除",
"v1.5": "修复总集数会同步TMDB变动的问题,增加开关选项"

View File

@@ -36,7 +36,7 @@ class BangumiColl(_PluginBase):
# 插件图标
plugin_icon = "bangumi_b.png"
# 插件版本
plugin_version = "1.5.2"
plugin_version = "1.5.3"
# 插件作者
plugin_author = "Attente"
# 作者主页
@@ -60,8 +60,6 @@ class BangumiColl(_PluginBase):
_cron: str = ""
_notify: bool = False
_onlyonce: bool = False
_include: str = ""
_exclude: str = ""
_uid: str = ""
_collection_type = []
_save_path: str = ""
@@ -130,8 +128,6 @@ class BangumiColl(_PluginBase):
"cron": self._cron,
"uid": self._uid,
"collection_type": self._collection_type,
"include": self._include,
"exclude": self._exclude,
"save_path": self._save_path,
"sites": self._sites,
}
@@ -151,7 +147,7 @@ class BangumiColl(_PluginBase):
"""
注册插件公共服务
"""
if self._enabled or self._cron:
if self._enabled:
trigger = CronTrigger.from_crontab(self._cron) if self._cron else "interval"
kwargs = {"hours": 6} if not self._cron else {}
return [
@@ -219,7 +215,6 @@ class BangumiColl(_PluginBase):
logger.error(f"Bangumi用户{self._uid} ,没有任何收藏")
return {}
logger.info("解析Bangumi条目信息...")
return {
item.get("subject_id"): {
"name": item['subject'].get('name'),
@@ -264,14 +259,18 @@ class BangumiColl(_PluginBase):
fail_items = {}
for self._subid, item in items.items():
meta = MetaInfo(item.get("name_cn"))
if item.get("name_cn"):
meta = MetaInfo(item.get("name_cn"))
meta.en_name = item.get("name")
else:
meta = MetaInfo(item.get("name"))
if not meta.name:
fail_items[self._subid] = f"{item.get('name_cn')} 未识别到有效数据"
logger.warn(f"{item.get('name_cn')} 未识别到有效数据")
fail_items[self._subid] = f"{self._subid} 未识别到有效数据"
logger.warn(f"{self._subid} 未识别到有效数据")
continue
meta.year = item.get("date")[:4] if item.get("date") else None
mediainfo = self.chain.recognize_media(meta=meta)
mediainfo = self.chain.recognize_media(meta=meta, cache=False)
meta.total_episode = item.get("eps", 0)
if not mediainfo:
fail_items[self._subid] = f"{item.get('name_cn')} 媒体信息识别失败"
@@ -301,7 +300,7 @@ class BangumiColl(_PluginBase):
**self.prepare_kwargs(meta, mediainfo),
)
if not sid:
fail_items[self._subid] = f"{item.get('name_cn')} {msg}"
fail_items[self._subid] = f"{item.get('name_cn') or item.get('name')} {msg}"
return fail_items
@@ -362,8 +361,9 @@ class BangumiColl(_PluginBase):
data = res.json().get("data", [{}])[0]
prev = data.get("sort", 1) - data.get("ep", 1)
total = res.json().get("total", None)
meta.begin_episode = prev + 1
meta.end_episode = prev + total if total else None
begin = prev + 1
end = prev + total if total else None
meta.set_episodes(begin, end)
except Exception as e:
logger.error(f"获取集数信息失败: {str(e)}")
finally:

View File

@@ -72,6 +72,7 @@ def form(sites_options) -> list:
'content': [
{
'component': 'VTextField',
# 'component': 'VCronField', # 暂不支持
'props': {
'model': 'cron',
'label': '执行周期',
@@ -115,39 +116,6 @@ def form(sites_options) -> list:
},
],
},
{
'component': 'VRow',
'content': [
{
'component': 'VCol',
'props': {'cols': 12, 'md': 6},
'content': [
{
'component': 'VTextField',
'props': {
'model': 'include',
'label': '包含',
'placeholder': '暂未实现',
},
}
],
},
{
'component': 'VCol',
'props': {'cols': 12, 'md': 6},
'content': [
{
'component': 'VTextField',
'props': {
'model': 'exclude',
'label': '排除',
'placeholder': '暂未实现',
},
}
],
},
],
},
{
'component': 'VRow',
'content': [
@@ -262,8 +230,6 @@ def form(sites_options) -> list:
"cron": "",
"uid": "",
"collection_type": [3],
"include": "",
"exclude": "",
"save_path": "",
"sites": [],
}