From e7ddc8448de05fbdf4a082132935a3e80b61e5a1 Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Sat, 11 Jan 2025 11:31:56 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BB=A3=E7=A0=81=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E5=99=A8=E5=9C=A8=E6=88=90=E5=8A=9F=E6=89=A7=E8=A1=8C=E5=90=8E?= =?UTF-8?q?=E6=B8=85=E7=A9=BA=E6=96=87=E4=BB=B6buffer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/python_interpreter/main.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/python_interpreter/main.py b/packages/python_interpreter/main.py index 9fca65fba..a423e76c1 100644 --- a/packages/python_interpreter/main.py +++ b/packages/python_interpreter/main.py @@ -363,10 +363,24 @@ class Main(star.Star): logger.warning(f"未从沙箱输出中捕获到合法的输出。沙箱输出日志: {logs}") break else: + # 成功了 + self.user_file_msg_buffer.pop(event.get_session_id()) return yield event.plain_result("经过多次尝试后,未从沙箱输出中捕获到合法的输出,请更换问法或者查看日志。") - + + @pi.command("cleanfile") + async def pi_cleanfile(self, event: AstrMessageEvent): + '''清理用户上传的文件''' + for file in self.user_file_msg_buffer[event.get_session_id()]: + try: + os.remove(file) + except BaseException as e: + logger.error(f"删除文件 {file} 失败: {e}") + + self.user_file_msg_buffer.pop(event.get_session_id()) + yield event.plain_result(f"用户 {event.get_session_id()} 上传的文件已清理。") + async def run_container(self, container: aiodocker.docker.DockerContainer, timeout: int = 20) -> list[str]: '''Run the container and get the output'''