bizydraft 0.2.78.dev20251117024007__py3-none-any.whl → 0.2.82.dev20251209023307__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,5 @@
1
+ import json
2
+
1
3
  from aiohttp import web
2
4
  from loguru import logger
3
5
 
@@ -51,6 +53,31 @@ def hijack_routes_pre_add_routes():
51
53
 
52
54
  return middleware_handler
53
55
 
56
+ # 覆盖 /settings 响应,修改设置 NodeIdBadgeMode 为 ShowAll显示id,将 LinkRenderMode 为(Spline=2),显示连线
57
+ async def settings_response_middleware(app, handler):
58
+ async def middleware_handler(request):
59
+ if request.method == "GET":
60
+ p = request.path
61
+ if p == "/settings" or p == "/api/settings":
62
+ resp = await handler(request)
63
+ if getattr(resp, "content_type", None) == "application/json":
64
+ body_bytes = getattr(resp, "body", b"")
65
+ charset = getattr(resp, "charset", None) or "utf-8"
66
+ payload = json.loads(body_bytes.decode(charset))
67
+ if payload.get("Comfy.NodeBadge.NodeIdBadgeMode") != "ShowAll":
68
+ payload["Comfy.NodeBadge.NodeIdBadgeMode"] = "ShowAll"
69
+ if payload.get("Comfy.LinkRenderMode") != 2:
70
+ payload["Comfy.LinkRenderMode"] = 2
71
+ if payload.get("Comfy.VueNodes.Enabled") != False:
72
+ payload["Comfy.VueNodes.Enabled"] = False
73
+ return web.json_response(
74
+ payload, status=getattr(resp, "status", 200)
75
+ )
76
+ return resp
77
+ return await handler(request)
78
+
79
+ return middleware_handler
80
+
54
81
  async def access_control_middleware(app, handler):
55
82
  base_white_list = [
56
83
  "/prompt",
@@ -98,7 +125,7 @@ def hijack_routes_pre_add_routes():
98
125
 
99
126
  return middleware_handler
100
127
 
101
- app.middlewares.extend([custom_business_middleware])
128
+ app.middlewares.extend([custom_business_middleware, settings_response_middleware])
102
129
 
103
130
  logger.info("Optimized middleware setup complete.")
104
131
 
bizydraft/oss_utils.py CHANGED
@@ -312,9 +312,17 @@ async def upload_mask(request):
312
312
  if "http" in original_subfolder:
313
313
  # subfolder 中包含 URL 基础路径
314
314
  original_subfolder = original_subfolder[original_subfolder.find("http") :]
315
- original_subfolder = unquote(original_subfolder).replace(
316
- "https:/", "https://"
317
- )
315
+ original_subfolder = unquote(original_subfolder)
316
+ if "https:/" in original_subfolder and not original_subfolder.startswith(
317
+ "https://"
318
+ ):
319
+ original_subfolder = original_subfolder.replace(
320
+ "https:/", "https://", 1
321
+ )
322
+ if "http:/" in original_subfolder and not original_subfolder.startswith(
323
+ "http://"
324
+ ):
325
+ original_subfolder = original_subfolder.replace("http:/", "http://", 1)
318
326
  original_url = f"{original_subfolder}/{original_filename}"
319
327
  elif original_filename.startswith(http_prefix_options):
320
328
  # filename 本身就是完整 URL