修复extract_folder_path被定位到根目录的bug
Browse files
crazy_functions/解析项目源代码.py
CHANGED
@@ -292,13 +292,14 @@ def 解析任意code项目(txt, llm_kwargs, plugin_kwargs, chatbot, history, sys
|
|
292 |
yield from update_ui(chatbot=chatbot, history=history) # 刷新界面
|
293 |
return
|
294 |
# 若上传压缩文件, 先寻找到解压的文件夹路径, 从而避免解析压缩文件
|
295 |
-
maybe_dir = [f for f in glob.glob(f'{project_folder}
|
296 |
-
|
|
|
|
|
|
|
297 |
# 按输入的匹配模式寻找上传的非压缩文件和已解压的文件
|
298 |
-
file_manifest = [f for f in glob.glob(f'{
|
299 |
-
|
300 |
-
os.path.isfile(f) and (not re.search(pattern_except, f) or _.endswith('.' + re.search(pattern_except, f).group().split('.')[-1]))]
|
301 |
-
|
302 |
if len(file_manifest) == 0:
|
303 |
report_execption(chatbot, history, a = f"解析项目: {txt}", b = f"找不到任何文件: {txt}")
|
304 |
yield from update_ui(chatbot=chatbot, history=history) # 刷新界面
|
|
|
292 |
yield from update_ui(chatbot=chatbot, history=history) # 刷新界面
|
293 |
return
|
294 |
# 若上传压缩文件, 先寻找到解压的文件夹路径, 从而避免解析压缩文件
|
295 |
+
maybe_dir = [f for f in glob.glob(f'{project_folder}/*') if os.path.isdir(f)]
|
296 |
+
if maybe_dir[0].endswith('.extract'):
|
297 |
+
extract_folder_path = maybe_dir[0]
|
298 |
+
else:
|
299 |
+
extract_folder_path = project_folder
|
300 |
# 按输入的匹配模式寻找上传的非压缩文件和已解压的文件
|
301 |
+
file_manifest = [f for pattern in pattern_include for f in glob.glob(f'{extract_folder_path}/**/{pattern}', recursive=True) if "" != extract_folder_path and \
|
302 |
+
os.path.isfile(f) and (not re.search(pattern_except, f) or pattern.endswith('.' + re.search(pattern_except, f).group().split('.')[-1]))]
|
|
|
|
|
303 |
if len(file_manifest) == 0:
|
304 |
report_execption(chatbot, history, a = f"解析项目: {txt}", b = f"找不到任何文件: {txt}")
|
305 |
yield from update_ui(chatbot=chatbot, history=history) # 刷新界面
|