From 79715433c8888b888d5a53bc1f383950a877144d Mon Sep 17 00:00:00 2001 From: yiqun12 Date: Sat, 7 Jun 2025 14:06:10 -0700 Subject: [PATCH 1/8] feat: template version display --- server.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/server.py b/server.py index 1b0a73601..b72880c43 100644 --- a/server.py +++ b/server.py @@ -711,6 +711,27 @@ class PromptServer(): self.prompt_queue.delete_history_item(id_to_delete) return web.Response(status=200) + + @routes.get("/templates_version") + async def get_workflow_templates_version(request): + """Reads the version number of comfyui-workflow-templates from the requirements.txt file.""" + try: + current_dir = os.path.dirname(__file__) + requirements_path = os.path.join(current_dir, 'requirements.txt') + + version = "not_found" + with open(requirements_path, 'r', encoding='utf-8') as f: + for line in f: + if line.startswith('comfyui-workflow-templates=='): + version = line.strip().split('==')[1] + break + except FileNotFoundError: + version = "requirements.txt not found" + except Exception as e: + print(f"Error reading version in get_workflow_templates_version: {e}") + version = "unknown" + + return web.json_response({"version": version}) async def setup(self): timeout = aiohttp.ClientTimeout(total=None) # no timeout From 6fa6aacb6ec4fdc536fe2d8fdae11f14d3c3f982 Mon Sep 17 00:00:00 2001 From: Yiqun Xu <71995731+yiqun12@users.noreply.github.com> Date: Sat, 7 Jun 2025 15:20:21 -0700 Subject: [PATCH 2/8] change print to logging.info( --- server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.py b/server.py index b72880c43..d9ec1b504 100644 --- a/server.py +++ b/server.py @@ -728,7 +728,7 @@ class PromptServer(): except FileNotFoundError: version = "requirements.txt not found" except Exception as e: - print(f"Error reading version in get_workflow_templates_version: {e}") + logging.info(f"Error reading version in get_workflow_templates_version: {e}") version = "unknown" return web.json_response({"version": version}) From 7808397c32c09b4dff1e2f54151f32fbaf9ba167 Mon Sep 17 00:00:00 2001 From: yiqun12 Date: Sun, 8 Jun 2025 09:17:27 -0700 Subject: [PATCH 3/8] fix: update template version api return --- server.py | 61 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 41 insertions(+), 20 deletions(-) diff --git a/server.py b/server.py index d9ec1b504..579eddc9d 100644 --- a/server.py +++ b/server.py @@ -530,6 +530,7 @@ class PromptServer(): "ram_total": ram_total, "ram_free": ram_free, "comfyui_version": __version__, + "workflows_templates_version": get_workflow_templates_version(), "python_version": sys.version, "pytorch_version": comfy.model_management.torch_version, "embedded_python": os.path.split(os.path.split(sys.executable)[0])[1] == "python_embeded", @@ -549,6 +550,46 @@ class PromptServer(): } return web.json_response(system_stats) + def get_workflow_templates_version(): + """Reads the version number of comfyui-workflow-templates from the requirements.txt file.""" + try: + current_dir = os.path.dirname(__file__) + requirements_path = os.path.join(current_dir, 'requirements.txt') + + version = "not_found" + with open(requirements_path, 'r', encoding='utf-8') as f: + for line in f: + if line.startswith('comfyui-workflow-templates=='): + version = line.strip().split('==')[1] + break + except FileNotFoundError: + version = "requirements.txt not found" + except Exception as e: + logging.info(f"Error reading version in get_workflow_templates_version: {e}") + version = "unknown" + + return version + + def get_workflow_templates_version(): + """Reads the version number of comfyui-workflow-templates from the requirements.txt file.""" + try: + current_dir = os.path.dirname(__file__) + requirements_path = os.path.join(current_dir, 'requirements.txt') + + version = "not_found" + with open(requirements_path, 'r', encoding='utf-8') as f: + for line in f: + if line.startswith('comfyui-workflow-templates=='): + version = line.strip().split('==')[1] + break + except FileNotFoundError: + version = "requirements.txt not found" + except Exception as e: + logging.info(f"Error reading version in get_workflow_templates_version: {e}") + version = "unknown" + + return version + @routes.get("/prompt") async def get_prompt(request): return web.json_response(self.get_queue_info()) @@ -712,26 +753,6 @@ class PromptServer(): return web.Response(status=200) - @routes.get("/templates_version") - async def get_workflow_templates_version(request): - """Reads the version number of comfyui-workflow-templates from the requirements.txt file.""" - try: - current_dir = os.path.dirname(__file__) - requirements_path = os.path.join(current_dir, 'requirements.txt') - - version = "not_found" - with open(requirements_path, 'r', encoding='utf-8') as f: - for line in f: - if line.startswith('comfyui-workflow-templates=='): - version = line.strip().split('==')[1] - break - except FileNotFoundError: - version = "requirements.txt not found" - except Exception as e: - logging.info(f"Error reading version in get_workflow_templates_version: {e}") - version = "unknown" - - return web.json_response({"version": version}) async def setup(self): timeout = aiohttp.ClientTimeout(total=None) # no timeout From 8e86385f4018b3b0c43a5a37dac706419c0025c0 Mon Sep 17 00:00:00 2001 From: Yiqun Xu <71995731+yiqun12@users.noreply.github.com> Date: Mon, 9 Jun 2025 14:58:10 -0700 Subject: [PATCH 4/8] fix: remove duplicate get_workflow_templates_version definition and trailing whitespace --- server.py | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/server.py b/server.py index 579eddc9d..bb4fa430b 100644 --- a/server.py +++ b/server.py @@ -570,26 +570,6 @@ class PromptServer(): return version - def get_workflow_templates_version(): - """Reads the version number of comfyui-workflow-templates from the requirements.txt file.""" - try: - current_dir = os.path.dirname(__file__) - requirements_path = os.path.join(current_dir, 'requirements.txt') - - version = "not_found" - with open(requirements_path, 'r', encoding='utf-8') as f: - for line in f: - if line.startswith('comfyui-workflow-templates=='): - version = line.strip().split('==')[1] - break - except FileNotFoundError: - version = "requirements.txt not found" - except Exception as e: - logging.info(f"Error reading version in get_workflow_templates_version: {e}") - version = "unknown" - - return version - @routes.get("/prompt") async def get_prompt(request): return web.json_response(self.get_queue_info()) From 57a1fc0fccdaa401e509c991949115e5c900975b Mon Sep 17 00:00:00 2001 From: Yiqun Xu <71995731+yiqun12@users.noreply.github.com> Date: Wed, 11 Jun 2025 12:33:25 -0700 Subject: [PATCH 5/8] fixing Blank line contains whitespace --- server.py | 1 - 1 file changed, 1 deletion(-) diff --git a/server.py b/server.py index bb4fa430b..0a48bd51f 100644 --- a/server.py +++ b/server.py @@ -290,7 +290,6 @@ class PromptServer(): image = post.get("image") overwrite = post.get("overwrite") image_is_duplicate = False - image_upload_type = post.get("type") upload_dir, image_upload_type = get_dir_by_type(image_upload_type) From f8c8976da6cf79a1e9479bf9d6510536aa4cf121 Mon Sep 17 00:00:00 2001 From: Yiqun Xu <71995731+yiqun12@users.noreply.github.com> Date: Wed, 11 Jun 2025 19:37:02 -0700 Subject: [PATCH 6/8] fix: fix Blank line contains whitespace --- server.py | 1 - 1 file changed, 1 deletion(-) diff --git a/server.py b/server.py index bb4fa430b..e68c27992 100644 --- a/server.py +++ b/server.py @@ -732,7 +732,6 @@ class PromptServer(): self.prompt_queue.delete_history_item(id_to_delete) return web.Response(status=200) - async def setup(self): timeout = aiohttp.ClientTimeout(total=None) # no timeout From 78c791a89fea4453bede292a3c9191ba0b973ccc Mon Sep 17 00:00:00 2001 From: Yiqun Xu <71995731+yiqun12@users.noreply.github.com> Date: Wed, 11 Jun 2025 19:49:58 -0700 Subject: [PATCH 7/8] fix: fix Blank line contains whitespace --- server.py | 1 - 1 file changed, 1 deletion(-) diff --git a/server.py b/server.py index d9321d77f..80ee48e27 100644 --- a/server.py +++ b/server.py @@ -729,7 +729,6 @@ class PromptServer(): to_delete = json_data['delete'] for id_to_delete in to_delete: self.prompt_queue.delete_history_item(id_to_delete) - return web.Response(status=200) async def setup(self): From 02cf1ac38a9f8c0624469bd74bdf5af95752f9c0 Mon Sep 17 00:00:00 2001 From: Yiqun Xu <71995731+yiqun12@users.noreply.github.com> Date: Wed, 11 Jun 2025 19:50:52 -0700 Subject: [PATCH 8/8] test: remove test --- server.py | 1 + 1 file changed, 1 insertion(+) diff --git a/server.py b/server.py index 80ee48e27..d9321d77f 100644 --- a/server.py +++ b/server.py @@ -729,6 +729,7 @@ class PromptServer(): to_delete = json_data['delete'] for id_to_delete in to_delete: self.prompt_queue.delete_history_item(id_to_delete) + return web.Response(status=200) async def setup(self):