funcnodes-react-flow 0.1.5__py3-none-any.whl → 0.1.7__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,4 @@
1
+ from typing import Optional
1
2
  import http.server
2
3
  import socketserver
3
4
  import webbrowser
@@ -5,6 +6,7 @@ import os
5
6
  import time
6
7
  import threading
7
8
  import asyncio
9
+ import funcnodes as fn
8
10
 
9
11
  PORT = 8029
10
12
 
@@ -25,15 +27,19 @@ class CustomHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
25
27
  self.send_error(405, "Method Not Allowed")
26
28
 
27
29
  def get_worker_manager(self):
28
- import funcnodes as fn
29
-
30
30
  # Implement custom GET handling logic here
31
- asyncio.run(fn.worker.worker_manager.assert_worker_manager_running())
31
+ asyncio.run(
32
+ fn.worker.worker_manager.assert_worker_manager_running(
33
+ host=self.server.worker_manager_host,
34
+ port=self.server.worker_manager_port,
35
+ ssl=self.server.worker_manager_ssl,
36
+ )
37
+ )
32
38
  self.send_response(200)
33
39
  self.send_header("Content-type", "text/json")
34
40
  self.end_headers()
35
41
  self.wfile.write(
36
- f"ws://{fn.config.CONFIG['worker_manager']['host']}:{fn.config.CONFIG['worker_manager']['port']}".encode(
42
+ f"w{'s' if self.server.worker_manager_ssl else ''}://{self.server.worker_manager_host}:{self.server.worker_manager_port}".encode(
37
43
  "utf-8"
38
44
  )
39
45
  )
@@ -54,7 +60,27 @@ class GracefulHTTPServer(socketserver.TCPServer):
54
60
  allow_reuse_address = False
55
61
  timeout = 5
56
62
 
57
- def __init__(self, server_address, RequestHandlerClass, bind_and_activate=True):
63
+ def __init__(
64
+ self,
65
+ server_address,
66
+ RequestHandlerClass,
67
+ bind_and_activate=True,
68
+ worker_manager_host: Optional[str] = None,
69
+ worker_manager_port: Optional[int] = None,
70
+ worker_manager_ssl: Optional[bool] = None,
71
+ ):
72
+ if worker_manager_host is None:
73
+ worker_manager_host = fn.config.CONFIG["worker_manager"]["host"]
74
+
75
+ if worker_manager_port is None:
76
+ worker_manager_port = fn.config.CONFIG["worker_manager"]["port"]
77
+
78
+ if worker_manager_ssl is None:
79
+ worker_manager_ssl = fn.config.CONFIG["worker_manager"].get("ssl", False)
80
+
81
+ self.worker_manager_ssl = worker_manager_ssl
82
+ self.worker_manager_host = worker_manager_host
83
+ self.worker_manager_port = worker_manager_port
58
84
  super().__init__(server_address, RequestHandlerClass, bind_and_activate)
59
85
  self._is_serving = True
60
86
 
@@ -71,14 +97,32 @@ def _open_browser(port, delay=1.0):
71
97
  webbrowser.open(f"http://localhost:{port}")
72
98
 
73
99
 
74
- def run_server(port=PORT, open_browser=True):
100
+ def run_server(
101
+ port=PORT,
102
+ open_browser=True,
103
+ worker_manager_host: Optional[str] = None,
104
+ worker_manager_port: Optional[int] = None,
105
+ worker_manager_ssl: Optional[bool] = None,
106
+ ):
75
107
  import funcnodes as fn
76
108
 
77
- asyncio.run(fn.worker.worker_manager.assert_worker_manager_running())
109
+ asyncio.run(
110
+ fn.worker.worker_manager.assert_worker_manager_running(
111
+ host=worker_manager_host,
112
+ port=worker_manager_port,
113
+ ssl=worker_manager_ssl,
114
+ )
115
+ )
78
116
  try:
79
117
  script_directory = os.path.dirname(os.path.abspath(__file__))
80
118
  os.chdir(script_directory)
81
- httpd = GracefulHTTPServer(("", port), CustomHTTPRequestHandler)
119
+ httpd = GracefulHTTPServer(
120
+ ("", port),
121
+ CustomHTTPRequestHandler,
122
+ worker_manager_host=worker_manager_host,
123
+ worker_manager_port=worker_manager_port,
124
+ worker_manager_ssl=worker_manager_ssl,
125
+ )
82
126
  print(f"Serving at port {port}")
83
127
  if open_browser:
84
128
  threading.Thread(target=_open_browser, args=(port,), daemon=True).start()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: funcnodes_react_flow
3
- Version: 0.1.5
3
+ Version: 0.1.7
4
4
  Summary: funcnodes frontend for react flow
5
5
  Author: Julian Kimmig
6
6
  Author-email: julian.kimmig@linkdlab.de
@@ -18,8 +18,8 @@ funcnodes_react_flow/logo192.png,sha256=XAIrH5_B6T77mW4eEP2emYcTkprrwuokSWKoy27v
18
18
  funcnodes_react_flow/logo512.png,sha256=9SEEPsgJusj_-fxvDf11ea2YpUKXOdLhSPT3DNRw9e8,65653
19
19
  funcnodes_react_flow/manifest.json,sha256=ULPYw5A68_eNhxuUVXqxT045yhkurKPSz6hjyGcnmhQ,492
20
20
  funcnodes_react_flow/robots.txt,sha256=kNJLw79pisHhc3OVAimMzKcq3x9WT6sF9IS4xI0crdI,67
21
- funcnodes_react_flow/run.py,sha256=8hLzKI0eIRwHMDfhg_uA_raRnA9XukB5-k_Bpdr__0M,2989
22
- funcnodes_react_flow-0.1.5.dist-info/METADATA,sha256=bjduSbFOI6U6qTrfXTqLmQEdPJHUIAMnFfBLQONu5Nk,433
23
- funcnodes_react_flow-0.1.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
24
- funcnodes_react_flow-0.1.5.dist-info/entry_points.txt,sha256=FbrfqRLScFuNXaVpoyfz7lPcSjTlRf4G06ZUZhTgJMM,75
25
- funcnodes_react_flow-0.1.5.dist-info/RECORD,,
21
+ funcnodes_react_flow/run.py,sha256=ZEdM3PhiXkJl1AaHOAacCEHnhhNJO0NdT7diTw0c_5M,4423
22
+ funcnodes_react_flow-0.1.7.dist-info/METADATA,sha256=R7O6Yd5qCI3q1W_K5c3FC8Q9CG49cc0z8GyUMBR45AE,433
23
+ funcnodes_react_flow-0.1.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
24
+ funcnodes_react_flow-0.1.7.dist-info/entry_points.txt,sha256=FbrfqRLScFuNXaVpoyfz7lPcSjTlRf4G06ZUZhTgJMM,75
25
+ funcnodes_react_flow-0.1.7.dist-info/RECORD,,