自适应IntroSkip 1.7.7 插件 在MP版本 v2.2.4-1 的安装和运行出错的 解决代码 修改
当前出问题的 MP软件版本 v2.2.4-1
喜欢这个插件,但是能力有限,参考新版mp V2插件的说明,手动修改了部分代码,临时解决并适配了当前的安装和运行出错的这个问题,其他问题暂时未知,希望大佬上线采纳
github库中源代码路径 plugins/adaptiveintroskip/skip_helper.py
【 其他朋友需要修改,在mp V2版的 docker容器中路径 修改skip_helper.py 文件: 容器中命令1:“cd /app/app/plugins/adaptiveintroskip”,命令2:“nano skip_helper.py” 】
其中代码修改内容:
代码开头位置:
------------源代码部分------------
import requests from app.core.config import settings from app.log import logger from datetime import datetime
base_url = settings.EMBY_HOST
if base_url is None: logger.error('请配置EMBY_HOST变量')
if not base_url.endswith("/"): base_url += "/" if not base_url.startswith("http"): base_url = "http://" + base_url api_key = settings.EMBY_API_KEY headers = {'X-Emby-Token': api_key}
------------源代码部分------------
替换为:
------------修改后代码部分------------
import requests from app.helper.mediaserver import MediaServerHelper from app.helper.service import ServiceBaseHelper from app.schemas import MediaServerConf from app.schemas.types import SystemConfigKey, ModuleType from app.log import logger from datetime import datetime
ServiceBase_Helper = ServiceBaseHelper(SystemConfigKey.MediaServers,MediaServerConf,ModuleType.MediaServer) media_server_config = ServiceBase_Helper.get_configs() emby_config = media_server_config['EMBY'].config base_url = emby_config['host']
if base_url is None: logger.error('请配置EMBY服务器')
if not base_url.endswith("/"): base_url += "/" if not base_url.startswith("http"): base_url = "http://" + base_url api_key = emby_config['apikey'] headers = {'X-Emby-Token': api_key}
------------修改后代码部分------------
大佬 按照你的方式修改了skip_helper.py文件的代码 但是在已安装插件列表依然没有显示该插件 是什么情况呢?
看下是否开启了插件热加载的功能,另外它可能还归属于插件市场中,处于下载后未安装状态,需要重新点击安装
另外,MP如果是docker容器 重新安装新版本,也会造成已修改的插件重新下载安装复原为原版出错,这个要等作者大佬上线更新插件源才行,系统重启自动更新的话应该不会被重置复原
已开启插件热加载,修改文件后 日志显示如下
【DEBUG】2025-02-03 19:38:12,111 - event.py - No handlers found for broadcast event: <Broadcast Event: plugin.reload, ID: fbfb1c0d-b2ac-4076-85cd-8ec4dc4e29d7, Priority: 10> 【DEBUG】2025-02-03 19:38:12,111 - event.py - Triggering broadcast event: <Broadcast Event: plugin.reload, ID: fbfb1c0d-b2ac-4076-85cd-8ec4dc4e29d7, Priority: 10>
KeyError: 'EMBY'
~~~~~~~~~~~~~~~~~~~^^^^^^^^
emby_config = media_server_config['EMBY'].config
File "/var/packages/MoviePilot/target/moviepilot/app/plugins/adaptiveintroskip/skip_helper.py", line 11, in