chore(scraping): keep event handler within complexity budget

This commit is contained in:
jxxghp
2026-09-05 08:20:36 +08:00
parent 237621c703
commit 97c0497385
+2 -13
View File
@@ -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