Verify save token chips and preview counter

This commit is contained in:
2026-08-05 13:54:08 +00:00
parent 18de59fed1
commit d89335f1eb
3 changed files with 127 additions and 2 deletions
+30
View File
@@ -1,6 +1,7 @@
from .dumas_image_nodes import (
NODE_CLASS_MAPPINGS as IMAGE_NODE_CLASS_MAPPINGS,
NODE_DISPLAY_NAME_MAPPINGS as IMAGE_NODE_DISPLAY_NAME_MAPPINGS,
_next_counter,
resolve_serve_token,
)
from .dumas_json_nodes import (
@@ -84,6 +85,35 @@ try:
return web.Response(status=404, text="unknown or expired preview token")
return web.FileResponse(path)
@PromptServer.instance.routes.get("/dumas/api/save_image/next_counter")
async def dumas_save_image_next_counter(request):
folder_raw = str(request.query.get("folder", "") or "").strip()
name = str(request.query.get("name", "") or "")
try:
digits = max(1, min(8, int(request.query.get("digits", "3"))))
except Exception:
digits = 3
def _scan():
import folder_paths
output_dir = folder_paths.get_output_directory()
base = os.path.abspath(folder_raw) if folder_raw else output_dir
parts = [part for part in name.replace("\\", "/").split("/") if part]
if not parts:
return 1, ""
frame_dir = os.path.join(base, *parts[:-1])
counter = _next_counter(frame_dir, parts[-1])
resolved_name = parts[-1].replace("%counter%", str(counter).zfill(digits))
return counter, "/".join(parts[:-1] + [resolved_name])
try:
loop = asyncio.get_running_loop()
counter, resolved = await loop.run_in_executor(None, _scan)
return web.json_response({"ok": True, "counter": counter, "resolved": resolved})
except Exception as exc:
return web.json_response({"ok": False, "message": str(exc), "counter": 1, "resolved": ""})
@PromptServer.instance.routes.get("/dumas/api/pick_directory")
async def dumas_pick_directory(request):
try: