From 43f56d39beb057e8cc6ed59abe5919326914cae9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=AF=E5=A4=A7=E4=BE=A0?= Date: Sat, 17 Jan 2026 23:33:29 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E6=89=8B=E5=8A=A8?= =?UTF-8?q?=E5=88=AE=E5=89=8A=E7=94=B5=E8=A7=86=E5=89=A7=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E5=8F=AF=E8=83=BD=E4=BC=9A=E9=81=97=E6=BC=8F=E7=89=B9=E5=88=AB?= =?UTF-8?q?=E5=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/chain/media.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/chain/media.py b/app/chain/media.py index daef3013..153a5f39 100644 --- a/app/chain/media.py +++ b/app/chain/media.py @@ -665,7 +665,11 @@ class MediaChain(ChainBase): if recursive: files = __list_files(_fileitem=fileitem) for file in files: - if file.type == "dir" and not file.name.lower().startswith("season"): + if ( + file.type == "dir" + and file.name not in settings.RENAME_FORMAT_S0_NAMES + and not file.name.lower().startswith("season") + ): # 电视剧不处理非季子目录 continue self.scrape_metadata(fileitem=file, From 0ab23ee972b90ea088b53675796caf0f554ac327 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=AF=E5=A4=A7=E4=BE=A0?= Date: Sun, 18 Jan 2026 01:57:58 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E5=88=AE=E5=89=8A?= =?UTF-8?q?=E7=94=B5=E8=A7=86=E5=89=A7=E7=9B=AE=E5=BD=95=E4=BC=9A=E8=AF=AF?= =?UTF-8?q?=E5=88=A4=E5=89=A7=E9=9B=86=E6=A0=B9=E7=9B=AE=E5=BD=95=E4=B8=BA?= =?UTF-8?q?=E5=AD=A3=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 因辅助识别词指定了季号 --- app/chain/media.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/chain/media.py b/app/chain/media.py index 153a5f39..274cfe9c 100644 --- a/app/chain/media.py +++ b/app/chain/media.py @@ -679,11 +679,19 @@ class MediaChain(ChainBase): overwrite=overwrite) # 生成目录的nfo和图片 if init_folder: + # TODO 目前的刮削是假定电视剧目录结构符合:/剧集根目录/季目录/剧集文件 + # 其中季目录应符合`Season 数字`等明确的季命名,不能用季标题 + # 例如:/Torchwood (2006)/Miracle Day/Torchwood (2006) S04E01.mkv + # 当刮削到`Miracle Day`目录时,会误判其为剧集根目录 # 识别文件夹名称 season_meta = MetaInfo(filepath.name) # 当前文件夹为Specials或者SPs时,设置为S0 if filepath.name in settings.RENAME_FORMAT_S0_NAMES: season_meta.begin_season = 0 + elif season_meta.name and season_meta.begin_season is not None: + # 当前目录含有非季目录的名称,但却有季信息(通常是被辅助识别词指定了) + # 这种情况应该是剧集根目录,不能按季目录刮削,否则会导致`season_poster`的路径错误 详见issue#5373 + season_meta.begin_season = None if season_meta.begin_season is not None: # 检查季NFO开关 if scraping_switchs.get('season_nfo', True): @@ -753,7 +761,8 @@ class MediaChain(ChainBase): else: logger.info(f"季图片刮削已关闭,跳过:{image_name}") # 判断当前目录是不是剧集根目录 - if not season_meta.season: + elif season_meta.name: + # 不含季信息(包括特别季)但含有名称的,可以认为是剧集根目录 (原PR#3219对此的判断会遗漏被识别词指定成电视剧的根目录 详见issue#5373) # 检查电视剧NFO开关 if scraping_switchs.get('tv_nfo', True): # 是否已存在 From a677ed307d178828081241e416b5b3ad3653a164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=99=AF=E5=A4=A7=E4=BE=A0?= Date: Sun, 18 Jan 2026 16:18:47 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=E5=89=A7=E9=9B=86nfo?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E5=88=AE=E5=89=8A=E4=BA=86=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=9A=84tmdb=20id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 应使用剧集id而非剧id --- app/modules/themoviedb/scraper.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/modules/themoviedb/scraper.py b/app/modules/themoviedb/scraper.py index ef9ccafc..03a5e09f 100644 --- a/app/modules/themoviedb/scraper.py +++ b/app/modules/themoviedb/scraper.py @@ -297,7 +297,8 @@ class TmdbScraper: uniqueid.setAttribute("type", "tmdb") uniqueid.setAttribute("default", "true") # tmdbid - DomUtils.add_node(doc, root, "tmdbid", str(tmdbid)) + # 应与uniqueid一致 使用剧集id 否则jellyfin/emby会将此id覆盖上面的uniqueid + DomUtils.add_node(doc, root, "tmdbid", str(episodeinfo.get("id"))) # 标题 DomUtils.add_node(doc, root, "title", episodeinfo.get("name") or "第 %s 集" % episode) # 简介 From f1b3fc2254ebfef487b52e648be1a7d5f63f202a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E8=99=BE?= <802181+cddjr@users.noreply.github.com> Date: Mon, 19 Jan 2026 10:11:54 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/chain/media.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/chain/media.py b/app/chain/media.py index 274cfe9c..2eb3468d 100644 --- a/app/chain/media.py +++ b/app/chain/media.py @@ -762,7 +762,7 @@ class MediaChain(ChainBase): logger.info(f"季图片刮削已关闭,跳过:{image_name}") # 判断当前目录是不是剧集根目录 elif season_meta.name: - # 不含季信息(包括特别季)但含有名称的,可以认为是剧集根目录 (原PR#3219对此的判断会遗漏被识别词指定成电视剧的根目录 详见issue#5373) + # 不含季信息(包括特别季)但含有名称的,可以认为是剧集根目录 # 检查电视剧NFO开关 if scraping_switchs.get('tv_nfo', True): # 是否已存在