From 8a4202cee56a3eb32ba7f5d274492ba154d5e6e3 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Wed, 29 May 2024 17:16:35 +0800 Subject: [PATCH] fix dir match --- app/helper/directory.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/helper/directory.py b/app/helper/directory.py index 93031498..e348d06a 100644 --- a/app/helper/directory.py +++ b/app/helper/directory.py @@ -128,13 +128,14 @@ class DirectoryHelper: for matched_dir in matched_dirs: try: # 计算in_path和path的公共字符串长度 - relative = StringUtils.find_common_prefix(str(in_path), matched_dir.path) - if len(str(matched_dir.path)) == len(relative): - # 目录完整匹配的,直接返回 + relative_len = len(StringUtils.find_common_prefix(str(in_path), matched_dir.path)) + if len(str(matched_dir.path)) == relative_len \ + and relative_len >= max_length: + # 目录完整匹配且是最长的,直接返回 return matched_dir - if len(relative) > max_length: + if relative_len > max_length: # 更新最大长度 - max_length = len(relative) + max_length = relative_len target_dir = matched_dir except Exception as e: logger.debug(f"计算目标路径时出错:{str(e)}")