jxxghp / MoviePilot

NAS媒体库自动化管理工具
https://wiki.movie-pilot.org
GNU General Public License v3.0
6.73k stars 808 forks source link

[错误报告]: chain模块的recognize_media模块报错,无法识别媒体信息 #1245

Closed WNotCoder closed 11 months ago

WNotCoder commented 11 months ago

确认

当前程序版本

1.5.1-1

运行环境

Docker

问题类型

主程序运行问题

问题描述

自动整理、手工整理均无法识别媒体信息。提示为:TheMovieDbModule - 'str' object has no attribute 'items'。 具体日志: image

采取过的行动:

Issue中有提过类似问题,答复是网络联通性不好。我采取了以下办法来依次测试: 1)修改TMDB_API_DOMAIN值为api.tmdb.org。结论:无效,错误依旧。 2)挂梯子,分别尝试api.tmdb.org、api.themoviedb.org。结论:依旧无效。 3)使用内建联通性检查,联通性无问题。检查结果见截图: image

上一次正常使用的版本:

1.5.0

上一次正常使用到本次出现异常中间变更过的设置:

1.升级MoviePilot,由1.5.0升级至1.5.1,后又升级至1.5.1-1 2.清理user.db数据库,使用SQLBrowser删除了transferhistory表的全部内容(表未删除) 3.重写了category.yaml(因二级分类一直不起作用,而且本次重写以后还不起作用)。具体文件内容见截图: image

头一次写Issue,如有不规范的行为望多包涵。

发生问题时系统日志和配置文件

2023-12-14 05:03:28 stdout  INFO:    iyuumsg - IYUU消息发送成功
2023-12-14 05:03:27 stdout  INFO:    command.py - 处理事件:notice.message - [<function IyuuMsg.send at 0x7f5238befb00>, <function WebHook.send at 0x7f5238a65580>]
2023-12-14 05:03:27 stdout   手动识别转移。,userid=None
2023-12-14 05:03:27 stdout  /redo 1021 [tmdbid]|[类型]
2023-12-14 05:03:27 stdout  INFO:    chain - 发送消息:channel=None,title=少年的你.Better.Days.2019.2160p.WEB-DL.HEVC.DDP5.1-OurTV.mkv 未识别到媒体信息,无法入库!, text=回复:```
2023-12-14 05:03:27 stdout  WARNING: transfer.py - /Media/Movie/少年的你.Better.Days.2019.2160p.WEB-DL.HEVC.DDP5.1-OurTV/少年的你.Better.Days.2019.2160p.WEB-DL.HEVC.DDP5.1-OurTV.mkv 未识别到媒体信息
2023-12-14 05:03:27 stdout  WARNING: media.py - 少年的你.Better.Days.2019.2160p.WEB-DL.HEVC.DDP5.1-OurTV 未识别到媒体信息
2023-12-14 05:03:26 stdout  INFO:    command.py - 处理事件:name.recognize.result - [<function MediaChain.recognize_result at 0x7f523a717ec0>, <function WebHook.send at 0x7f5238a65580>]
2023-12-14 05:03:26 stdout  INFO:    command.py - 处理事件:name.recognize - [<function ChatGPT.recognize at 0x7f5238d18900>, <function WebHook.send at 0x7f5238a65580>]
2023-12-14 05:03:26 stdout  INFO:    media.py - 请求辅助识别,标题:少年的你.Better.Days.2019.2160p.WEB-DL.HEVC.DDP5.1-OurTV ...
2023-12-14 05:03:26 stdout  None
2023-12-14 05:03:26 stdout  ERROR:   chain - 运行模块 recognize_media 出错:TheMovieDbModule - 'str' object has no attribute 'items'
2023-12-14 05:03:26 stdout  AttributeError: 'str' object has no attribute 'items'
2023-12-14 05:03:26 stdout                         ^^^^^^^^^^
2023-12-14 05:03:26 stdout      for attr, value in item.items():
2023-12-14 05:03:26 stdout    File "/app/app/modules/themoviedb/category.py", line 110, in get_category
2023-12-14 05:03:26 stdout             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-12-14 05:03:26 stdout      return self.get_category(self._movie_categorys, tmdb_info)
2023-12-14 05:03:26 stdout    File "/app/app/modules/themoviedb/category.py", line 84, in get_movie_category
2023-12-14 05:03:26 stdout            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2023-12-14 05:03:26 stdout      cat = self.category.get_movie_category(info)
2023-12-14 05:03:26 stdout    File "/app/app/modules/themoviedb/__init__.py", line 131, in recognize_media
2023-12-14 05:03:26 stdout               ^^^^^^^^^^^^^^^^^^^^^
2023-12-14 05:03:26 stdout      result = func(*args, **kwargs)
2023-12-14 05:03:26 stdout    File "/app/app/chain/__init__.py", line 97, in run_module
2023-12-14 05:03:26 stdout  Traceback (most recent call last):
2023-12-14 05:03:26 stdout  INFO:    tmdbapi.py - 575813 查询结果:少年的你
2023-12-14 05:03:25 stdout  INFO:    tmdbapi.py - 正在查询TMDB电影:575813 ...
2023-12-14 05:03:25 stdout  INFO:    themoviedb - 少年的你 使用TMDB识别缓存:少年的你
2023-12-14 05:03:25 stdout  INFO:    transfer.py - 手动转移:/Media/Movie/少年的你.Better.Days.2019.2160p.WEB-DL.HEVC.DDP5.1-OurTV/少年的你.Better.Days.2019.2160p.WEB-DL.HEVC.DDP5.1-OurTV.mkv
WNotCoder commented 11 months ago

已确定问题原因。

问题原因为二级分类文件问题,将开启二级分类改为false后正常。

hailun3202475 commented 7 months ago

@WNotCoder 请问是怎么关掉的,我现在是MP上面搜索任何推荐的电影资源都是500 日志会报同一样的错误 image 二级分类我也关闭了 但是还是没有用

后面 我把TMDB_API_DOMAIN 改成 api.tmdb.org 好像就可以了