From 8d4cb057387108d1fe85504cc66d949a6ee2e320 Mon Sep 17 00:00:00 2001 From: binary-husky Date: Tue, 26 Sep 2023 10:16:38 +0800 Subject: [PATCH] =?UTF-8?q?Matlab=E9=A1=B9=E7=9B=AE=E8=A7=A3=E6=9E=90?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E7=9A=84Shortcut?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crazy_functional.py | 8 ++++++++ crazy_functions/解析项目源代码.py | 17 +++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/crazy_functional.py b/crazy_functional.py index 4df53f5..65958ac 100644 --- a/crazy_functional.py +++ b/crazy_functional.py @@ -6,6 +6,7 @@ def get_crazy_functions(): from crazy_functions.生成函数注释 import 批量生成函数注释 from crazy_functions.解析项目源代码 import 解析项目本身 from crazy_functions.解析项目源代码 import 解析一个Python项目 + from crazy_functions.解析项目源代码 import 解析一个Matlab项目 from crazy_functions.解析项目源代码 import 解析一个C项目的头文件 from crazy_functions.解析项目源代码 import 解析一个C项目 from crazy_functions.解析项目源代码 import 解析一个Golang项目 @@ -77,6 +78,13 @@ def get_crazy_functions(): "Info": "批量总结word文档 | 输入参数为路径", "Function": HotReload(总结word文档) }, + "解析整个Matlab项目": { + "Group": "编程", + "Color": "stop", + "AsButton": False, + "Info": "解析一个Matlab项目的所有源文件(.m) | 输入参数为路径", + "Function": HotReload(解析一个Matlab项目) + }, "解析整个C++项目头文件": { "Group": "编程", "Color": "stop", diff --git a/crazy_functions/解析项目源代码.py b/crazy_functions/解析项目源代码.py index 1033362..f17a584 100644 --- a/crazy_functions/解析项目源代码.py +++ b/crazy_functions/解析项目源代码.py @@ -136,6 +136,23 @@ def 解析一个Python项目(txt, llm_kwargs, plugin_kwargs, chatbot, history, s return yield from 解析源代码新(file_manifest, project_folder, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt) +@CatchException +def 解析一个Matlab项目(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port): + history = [] # 清空历史,以免输入溢出 + import glob, os + if os.path.exists(txt): + project_folder = txt + else: + if txt == "": txt = '空空如也的输入栏' + report_execption(chatbot, history, a = f"解析Matlab项目: {txt}", b = f"找不到本地项目或无权访问: {txt}") + yield from update_ui(chatbot=chatbot, history=history) # 刷新界面 + return + file_manifest = [f for f in glob.glob(f'{project_folder}/**/*.m', recursive=True)] + if len(file_manifest) == 0: + report_execption(chatbot, history, a = f"解析Matlab项目: {txt}", b = f"找不到任何`.m`源文件: {txt}") + yield from update_ui(chatbot=chatbot, history=history) # 刷新界面 + return + yield from 解析源代码新(file_manifest, project_folder, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt) @CatchException def 解析一个C项目的头文件(txt, llm_kwargs, plugin_kwargs, chatbot, history, system_prompt, web_port):