kalong 0.5.3__py3-none-any.whl → 0.5.5__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.
- kalong/__init__.py +16 -19
- kalong/communication.py +40 -36
- kalong/config.py +47 -6
- kalong/loops.py +1 -1
- kalong/server.py +50 -29
- kalong/static/assets/index-ByEA1zci.js +166 -0
- kalong/static/index.html +1 -1
- kalong/stepping.py +1 -2
- kalong/utils/__init__.py +3 -3
- kalong/websockets.py +27 -17
- {kalong-0.5.3.dist-info → kalong-0.5.5.dist-info}/METADATA +1 -1
- {kalong-0.5.3.dist-info → kalong-0.5.5.dist-info}/RECORD +15 -15
- {kalong-0.5.3.dist-info → kalong-0.5.5.dist-info}/WHEEL +1 -1
- kalong/static/assets/index-B6z5WP1H.js +0 -226
- {kalong-0.5.3.dist-info → kalong-0.5.5.dist-info}/entry_points.txt +0 -0
- {kalong-0.5.3.dist-info → kalong-0.5.5.dist-info}/licenses/LICENSE +0 -0
kalong/static/index.html
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
content="minimum-scale=1, initial-scale=1, width=device-width, shrink-to-fit=no"
|
|
9
9
|
/>
|
|
10
10
|
<title>Kalong</title>
|
|
11
|
-
<script type="module" crossorigin src="/assets/index-
|
|
11
|
+
<script type="module" crossorigin src="/assets/index-ByEA1zci.js"></script>
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
14
14
|
<div id="root"></div>
|
kalong/stepping.py
CHANGED
kalong/utils/__init__.py
CHANGED
|
@@ -58,10 +58,10 @@ USER_SIGNAL = signal.SIGILL if sys.platform == "win32" else signal.SIGUSR1
|
|
|
58
58
|
|
|
59
59
|
def url(side):
|
|
60
60
|
origin = current_origin()
|
|
61
|
-
|
|
61
|
+
host = config.front_host if side == "front" else config.host
|
|
62
|
+
port = config.front_port if side == "front" else config.port
|
|
62
63
|
protocol = config.protocol
|
|
63
|
-
|
|
64
|
-
return f"{protocol}://{host}:{overriden_port}/{side}/{origin}"
|
|
64
|
+
return f"{protocol}://{host}:{port}/{side}/{origin}"
|
|
65
65
|
|
|
66
66
|
|
|
67
67
|
def human_readable_side(side):
|
kalong/websockets.py
CHANGED
|
@@ -2,6 +2,7 @@ import asyncio
|
|
|
2
2
|
import logging
|
|
3
3
|
import os
|
|
4
4
|
import webbrowser
|
|
5
|
+
import socket
|
|
5
6
|
from threading import Lock
|
|
6
7
|
|
|
7
8
|
from aiohttp import ClientSession
|
|
@@ -30,6 +31,8 @@ async def websocket_state():
|
|
|
30
31
|
# Here we get the magic cookie of our current thread in current pid
|
|
31
32
|
origin = current_origin()
|
|
32
33
|
if origin in websockets:
|
|
34
|
+
log.debug(f"Found existing websocket {origin}")
|
|
35
|
+
|
|
33
36
|
return websockets[origin], True
|
|
34
37
|
|
|
35
38
|
sessions[origin] = sessions.get(origin, ClientSession())
|
|
@@ -54,10 +57,18 @@ async def websocket_state():
|
|
|
54
57
|
else:
|
|
55
58
|
raise NoServerFoundError()
|
|
56
59
|
|
|
60
|
+
if os.getenv("KALONG_URLSOCKET"):
|
|
61
|
+
try:
|
|
62
|
+
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
|
63
|
+
sock.connect(os.getenv("KALONG_URLSOCKET"))
|
|
64
|
+
sock.send(url("front"))
|
|
65
|
+
sock.shutdown(socket.SHUT_WR)
|
|
66
|
+
finally:
|
|
67
|
+
sock.close()
|
|
57
68
|
# webbrowser.open should be in the mutex too, it's not thread safe
|
|
58
|
-
|
|
69
|
+
elif os.getenv("KALONG_NO_BROWSER") or not webbrowser.open(url("front")):
|
|
59
70
|
log.warning(
|
|
60
|
-
"Please open your browser to the following url:
|
|
71
|
+
f"Please open your browser to the following url: {url('front')}"
|
|
61
72
|
)
|
|
62
73
|
|
|
63
74
|
websockets[origin] = ws
|
|
@@ -66,26 +77,25 @@ async def websocket_state():
|
|
|
66
77
|
|
|
67
78
|
async def close_websocket():
|
|
68
79
|
origin = current_origin()
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
await sessions[origin].close()
|
|
78
|
-
finally:
|
|
79
|
-
del sessions[origin]
|
|
80
|
+
log.debug(f"Closing websocket {origin}")
|
|
81
|
+
ws = websockets.pop(origin, None)
|
|
82
|
+
session = sessions.pop(origin, None)
|
|
83
|
+
|
|
84
|
+
if ws:
|
|
85
|
+
await ws.close()
|
|
86
|
+
if session:
|
|
87
|
+
await session.close()
|
|
80
88
|
|
|
81
89
|
|
|
82
90
|
def die():
|
|
83
91
|
log.info("Dying, closing socket.")
|
|
84
92
|
loop = get_loop()
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
93
|
+
loop.run_until_complete(close_websocket())
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
async def adie():
|
|
97
|
+
log.info("Dying asynchronously, closing socket.")
|
|
98
|
+
await close_websocket()
|
|
89
99
|
|
|
90
100
|
|
|
91
101
|
async def close_all(closeables):
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
kalong/__init__.py,sha256=
|
|
1
|
+
kalong/__init__.py,sha256=pHnJvPZTuWvxjlsoL_kqGEYPstBv37IieDlYt9UKKDA,3371
|
|
2
2
|
kalong/__main__.py,sha256=rhd3QnCaDRx26Y1oEEoIUVYhzIhrddXMuZhDh1s1wyo,63
|
|
3
|
-
kalong/communication.py,sha256=
|
|
4
|
-
kalong/config.py,sha256=
|
|
3
|
+
kalong/communication.py,sha256=zln97GpLHYLjA98tea5Vmb3gWvJGHV_5m4v2P8YtQ1E,7453
|
|
4
|
+
kalong/config.py,sha256=oVF3EbHv-O6_ldGiPzqhx0B__Dq0h46Y1ZFw9BbBYSM,4831
|
|
5
5
|
kalong/debugger.py,sha256=1ZLC22djzjdE2Nx_tmZD5nuyAfwJKNyYXhNckVab9oY,13124
|
|
6
6
|
kalong/errors.py,sha256=3uUIdb_Vk046fZu7kvUNSIWStKUb2Lw9lzSr4KYjydQ,394
|
|
7
7
|
kalong/forking.py,sha256=F3cKnoyKz2aPa7e_VTELORoIfe8OPLdpMP2ROozOz0I,941
|
|
8
|
-
kalong/loops.py,sha256=
|
|
9
|
-
kalong/server.py,sha256=
|
|
10
|
-
kalong/stepping.py,sha256=
|
|
8
|
+
kalong/loops.py,sha256=J1d0dpswZjE4yCqhI6NaPFETJvU7E9BRgaayE6RCNKc,1458
|
|
9
|
+
kalong/server.py,sha256=mP2QNurrxoYJbeSJKF73XKV6p8DcuRzQ1f31R7w2JUw,4760
|
|
10
|
+
kalong/stepping.py,sha256=0f2eWfAZ8cTdy6eyNE5mo4E4WoQI6HjF0PQogC2mCCM,2457
|
|
11
11
|
kalong/tracing.py,sha256=KvOM-XeYbfQNHFA3FKYrElsOQp9hzzc9SiEhVTGOel4,4284
|
|
12
|
-
kalong/websockets.py,sha256=
|
|
13
|
-
kalong/static/index.html,sha256=
|
|
12
|
+
kalong/websockets.py,sha256=1SM7KXUgWPSHHbj2BTeT5BOtrCq7ZVdZ_f7ofe3LypQ,3146
|
|
13
|
+
kalong/static/index.html,sha256=PgAmK9vXBCyies_QTqkBwO9F76Q6uIJ5BM6aVPLw2A8,447
|
|
14
14
|
kalong/static/assets/FiraCode-Bold-Ba6ukUQM.otf,sha256=OPRF39DTrhVOpC_076c_zWg35KnXePm0WfekHj_cVMU,165916
|
|
15
15
|
kalong/static/assets/FiraCode-Regular-DP3ilQdk.otf,sha256=glzWMf6FMYc2vBuQI5xHFh1EPbvWhVK0r11UbP56EhA,160556
|
|
16
16
|
kalong/static/assets/favicon-rdSYpj7B.svg,sha256=IIpCKte78geM0QpB2kh1Z-fDiuHxzKORPTJhTvi7k1U,546
|
|
17
|
-
kalong/static/assets/index-
|
|
18
|
-
kalong/utils/__init__.py,sha256=
|
|
17
|
+
kalong/static/assets/index-ByEA1zci.js,sha256=qxPPt9b_6QwWgDxOuyzvTCE5RZRz03XsvnWbjMyZOm4,1013238
|
|
18
|
+
kalong/utils/__init__.py,sha256=mNTGjQU_aQOOauOtGvEWQcfy4ebfEQayHG0WPY1SaAo,3581
|
|
19
19
|
kalong/utils/io.py,sha256=lPxXFDErqVHDHAFKyIAjHH7WSFfY8HRKIRyXB1_6IkU,1533
|
|
20
20
|
kalong/utils/iterators.py,sha256=6fbv-9hZ-7a3i1oJvLCzLXm7Ihc66CgSO2u87nZzxrg,1045
|
|
21
21
|
kalong/utils/obj.py,sha256=FXm98nx7l60mBN3LzwdmuiAckw36-3F96tJqo1K5R6A,4385
|
|
22
22
|
kalong/utils/doc_lookup/__init__.py,sha256=Bf0hv0Enkk46TTIlBfyDlGMf9LHhp4wNPDgBl_TVM1s,685
|
|
23
23
|
kalong/utils/doc_lookup/lookup.json,sha256=Xvfd7njY3dyQ7i4IRoOs_5CAlTk0TWEAL4a5kiuObU0,997017
|
|
24
|
-
kalong-0.5.
|
|
25
|
-
kalong-0.5.
|
|
26
|
-
kalong-0.5.
|
|
27
|
-
kalong-0.5.
|
|
28
|
-
kalong-0.5.
|
|
24
|
+
kalong-0.5.5.dist-info/METADATA,sha256=ulyKlsxGKfh7RuWFjpiFUX2a17JoUbK24zdfrve3Ug8,815
|
|
25
|
+
kalong-0.5.5.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
26
|
+
kalong-0.5.5.dist-info/entry_points.txt,sha256=ATxUxSsaDx2Ggw96-oG3rFA59uxPOK_R7o7-yJn7tlo,39
|
|
27
|
+
kalong-0.5.5.dist-info/licenses/LICENSE,sha256=pXYsRuhMNEdOP2Mtt6hP9twpETOg_5R2wMYDrz7Z0ms,36836
|
|
28
|
+
kalong-0.5.5.dist-info/RECORD,,
|