From 4e22293cda960c061e1840c7ef8a9152478ef833 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Fri, 12 Apr 2024 12:04:42 +0800 Subject: [PATCH] =?UTF-8?q?fix=20=E6=96=87=E4=BB=B6=E5=A4=9A=E5=B1=82?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E8=AF=86=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/meta/metabase.py | 4 ++-- app/core/metainfo.py | 2 +- tests/cases/meta.py | 15 +++++++++++++++ tests/test_metainfo.py | 11 ++++++----- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/app/core/meta/metabase.py b/app/core/meta/metabase.py index 1de2f181..8cfdd6a1 100644 --- a/app/core/meta/metabase.py +++ b/app/core/meta/metabase.py @@ -550,13 +550,13 @@ class MetaBase(object): self.year = meta.year # 季 if (self.type == MediaType.TV - and not self.season): + and not self.begin_season): self.begin_season = meta.begin_season self.end_season = meta.end_season self.total_season = meta.total_season # 开始集 if (self.type == MediaType.TV - and not self.episode): + and not self.begin_episode): self.begin_episode = meta.begin_episode self.end_episode = meta.end_episode self.total_episode = meta.total_episode diff --git a/app/core/metainfo.py b/app/core/metainfo.py index 42e583d1..5f7729a6 100644 --- a/app/core/metainfo.py +++ b/app/core/metainfo.py @@ -61,7 +61,7 @@ def MetaInfoPath(path: Path) -> MetaBase: :param path: 路径 """ # 文件元数据,不包含后缀 - file_meta = MetaInfo(title=path.stem) + file_meta = MetaInfo(title=path.name) # 上级目录元数据 dir_meta = MetaInfo(title=path.parent.name) # 合并元数据 diff --git a/tests/cases/meta.py b/tests/cases/meta.py index ca478dce..fbfb1cf1 100644 --- a/tests/cases/meta.py +++ b/tests/cases/meta.py @@ -1022,4 +1022,19 @@ meta_cases = [{ "video_codec": "H265", "audio_codec": "DDP 2.0" } +}, { + "path": "/volume1/电视剧/西部世界 第二季 (2016)/5.mkv", + "target": { + "type": "电视剧", + "cn_name": "西部世界", + "en_name": "", + "year": "2016", + "part": "", + "season": "S02", + "episode": "E05", + "restype": "", + "pix": "", + "video_codec": "", + "audio_codec": "" + } }] diff --git a/tests/test_metainfo.py b/tests/test_metainfo.py index ba65a25a..689f021f 100644 --- a/tests/test_metainfo.py +++ b/tests/test_metainfo.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- - +from pathlib import Path from unittest import TestCase -from app.core.metainfo import MetaInfo +from app.core.metainfo import MetaInfo, MetaInfoPath from tests.cases.meta import meta_cases @@ -15,9 +15,10 @@ class MetaInfoTest(TestCase): def test_metainfo(self): for info in meta_cases: - if not info.get("title"): - continue - meta_info = MetaInfo(title=info.get("title"), subtitle=info.get("subtitle")) + if info.get("path"): + meta_info = MetaInfoPath(path=Path(info.get("path"))) + else: + meta_info = MetaInfo(title=info.get("title"), subtitle=info.get("subtitle")) target = { "type": meta_info.type.value, "cn_name": meta_info.cn_name or "",