mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-08 17:08:35 +08:00
chore(scraping): keep event handler within complexity budget
This commit is contained in:
+2
-13
@@ -691,23 +691,16 @@ class ScrapingChain(ChainBase, ConfigReloadMixin, metaclass=Singleton):
|
|||||||
|
|
||||||
@eventmanager.register(EventType.MetadataScrape)
|
@eventmanager.register(EventType.MetadataScrape)
|
||||||
def scrape_metadata_event(self, event: Event):
|
def scrape_metadata_event(self, event: Event):
|
||||||
"""
|
"""监控手动刮削事件"""
|
||||||
监控手动刮削事件
|
|
||||||
"""
|
|
||||||
if not event:
|
if not event:
|
||||||
return
|
return
|
||||||
event_data = event.event_data or {}
|
event_data = event.event_data or {}
|
||||||
# 媒体根目录
|
# 读取事件载荷
|
||||||
fileitem: FileItem = event_data.get("fileitem")
|
fileitem: FileItem = event_data.get("fileitem")
|
||||||
# 媒体文件列表
|
|
||||||
file_list: List[str] = list(dict.fromkeys(event_data.get("file_list") or []))
|
file_list: List[str] = list(dict.fromkeys(event_data.get("file_list") or []))
|
||||||
# 媒体元数据
|
|
||||||
meta: MetaBase = event_data.get("meta")
|
meta: MetaBase = event_data.get("meta")
|
||||||
# 媒体信息
|
|
||||||
mediainfo: MediaInfo = event_data.get("mediainfo")
|
mediainfo: MediaInfo = event_data.get("mediainfo")
|
||||||
# 是否覆盖
|
|
||||||
overwrite = event_data.get("overwrite", False)
|
overwrite = event_data.get("overwrite", False)
|
||||||
# 检查媒体根目录
|
|
||||||
if not fileitem:
|
if not fileitem:
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -768,18 +761,14 @@ class ScrapingChain(ChainBase, ConfigReloadMixin, metaclass=Singleton):
|
|||||||
overwrite=overwrite,
|
overwrite=overwrite,
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
# 1. 收集fileitem和file_list中每个文件之间所有子目录
|
|
||||||
all_dirs: set[Path] = set()
|
all_dirs: set[Path] = set()
|
||||||
root_path = Path(fileitem.path)
|
root_path = Path(fileitem.path)
|
||||||
|
|
||||||
logger.debug(f"开始收集目录,根目录:{root_path}")
|
logger.debug(f"开始收集目录,根目录:{root_path}")
|
||||||
# 收集根目录
|
|
||||||
all_dirs.add(root_path)
|
all_dirs.add(root_path)
|
||||||
|
|
||||||
# 收集所有目录(包括所有层级)
|
|
||||||
for sub_file in file_list:
|
for sub_file in file_list:
|
||||||
sub_path = Path(sub_file)
|
sub_path = Path(sub_file)
|
||||||
# 收集从根目录到文件的所有父目录
|
|
||||||
current_path = sub_path.parent
|
current_path = sub_path.parent
|
||||||
while (
|
while (
|
||||||
current_path != root_path
|
current_path != root_path
|
||||||
|
|||||||
Reference in New Issue
Block a user