From fdd27aa3213f7fa4b4cbc3455a7a520a92d254b3 Mon Sep 17 00:00:00 2001 From: Etienne Perot Date: Mon, 23 Sep 2024 23:22:47 -0700 Subject: [PATCH] fix: close temporary file after creating it. This fixes "The process cannot access the file because it is being used by another process" errors on Windows. The file is still automatically deleted by the `os.unlink` call later in the function. Updates #5606 Fixes #5642 --- backend/open_webui/apps/webui/utils.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/backend/open_webui/apps/webui/utils.py b/backend/open_webui/apps/webui/utils.py index 8bf48e400..969d5622c 100644 --- a/backend/open_webui/apps/webui/utils.py +++ b/backend/open_webui/apps/webui/utils.py @@ -87,7 +87,7 @@ def load_toolkit_module_by_id(toolkit_id, content=None): # Create a temporary file and use it to define `__file__` so # that it works as expected from the module's perspective. temp_file = tempfile.NamedTemporaryFile(delete=False) - + temp_file.close() try: with open(temp_file.name, "w", encoding="utf-8") as f: f.write(content) @@ -131,6 +131,7 @@ def load_function_module_by_id(function_id, content=None): # Create a temporary file and use it to define `__file__` so # that it works as expected from the module's perspective. temp_file = tempfile.NamedTemporaryFile(delete=False) + temp_file.close() try: with open(temp_file.name, "w", encoding="utf-8") as f: f.write(content)