fastled 1.4.15__py3-none-any.whl → 1.4.17__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.
- fastled/__version__.py +1 -1
- fastled/live_client.py +3 -1
- fastled/playwright/playwright_browser.py +24 -2
- fastled/settings.py +8 -7
- fastled/web_compile.py +16 -2
- {fastled-1.4.15.dist-info → fastled-1.4.17.dist-info}/METADATA +1 -1
- {fastled-1.4.15.dist-info → fastled-1.4.17.dist-info}/RECORD +11 -11
- {fastled-1.4.15.dist-info → fastled-1.4.17.dist-info}/WHEEL +0 -0
- {fastled-1.4.15.dist-info → fastled-1.4.17.dist-info}/entry_points.txt +0 -0
- {fastled-1.4.15.dist-info → fastled-1.4.17.dist-info}/licenses/LICENSE +0 -0
- {fastled-1.4.15.dist-info → fastled-1.4.17.dist-info}/top_level.txt +0 -0
fastled/__version__.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# IMPORTANT! There's a bug in github which will REJECT any version update
|
2
2
|
# that has any other change in the repo. Please bump the version as the
|
3
3
|
# ONLY change in a commit, or else the pypi update and the release will fail.
|
4
|
-
__version__ = "1.4.
|
4
|
+
__version__ = "1.4.17"
|
5
5
|
|
6
6
|
__version_url_latest__ = "https://raw.githubusercontent.com/zackees/fastled-wasm/refs/heads/main/src/fastled/__version__.py"
|
fastled/live_client.py
CHANGED
@@ -60,13 +60,15 @@ class LiveClient:
|
|
60
60
|
|
61
61
|
def url(self) -> str:
|
62
62
|
"""Get the URL of the server."""
|
63
|
+
from fastled.settings import SERVER_PORT
|
64
|
+
|
63
65
|
if isinstance(self.host, CompileServer):
|
64
66
|
return self.host.url()
|
65
67
|
if self.host is None:
|
66
68
|
import warnings
|
67
69
|
|
68
70
|
warnings.warn("TODO: use the actual host.")
|
69
|
-
return "http://localhost:
|
71
|
+
return f"http://localhost:{SERVER_PORT}"
|
70
72
|
return self.host
|
71
73
|
|
72
74
|
@property
|
@@ -369,8 +369,27 @@ class PlaywrightBrowser:
|
|
369
369
|
print(f"[PYTHON] Could not get browser info: {e}")
|
370
370
|
|
371
371
|
except Exception as e:
|
372
|
-
|
373
|
-
|
372
|
+
error_message = str(e)
|
373
|
+
# Check if the error indicates the browser/page has been closed
|
374
|
+
if any(
|
375
|
+
keyword in error_message.lower()
|
376
|
+
for keyword in [
|
377
|
+
"target page",
|
378
|
+
"context",
|
379
|
+
"browser has been closed",
|
380
|
+
"page.evaluate",
|
381
|
+
"browser closed",
|
382
|
+
"target closed",
|
383
|
+
]
|
384
|
+
):
|
385
|
+
print(
|
386
|
+
"[PYTHON] Browser has been closed, shutting down gracefully..."
|
387
|
+
)
|
388
|
+
self._should_exit.set()
|
389
|
+
break
|
390
|
+
else:
|
391
|
+
print(f"[PYTHON] Error in browser tracking: {e}")
|
392
|
+
continue
|
374
393
|
|
375
394
|
async def wait_for_close(self) -> None:
|
376
395
|
"""Wait for the browser to be closed."""
|
@@ -391,6 +410,9 @@ class PlaywrightBrowser:
|
|
391
410
|
|
392
411
|
async def close(self) -> None:
|
393
412
|
"""Close the Playwright browser."""
|
413
|
+
# Signal all tracking loops to exit
|
414
|
+
self._should_exit.set()
|
415
|
+
|
394
416
|
if self.page:
|
395
417
|
await self.page.close()
|
396
418
|
self.page = None
|
fastled/settings.py
CHANGED
@@ -8,6 +8,11 @@ IS_ARM: bool = "arm" in MACHINE or "aarch64" in MACHINE
|
|
8
8
|
PLATFORM_TAG: str = "-arm64" if IS_ARM else ""
|
9
9
|
|
10
10
|
|
11
|
+
def _is_running_under_github_actions() -> bool:
|
12
|
+
"""Detect if we're running under github actions."""
|
13
|
+
return "GITHUB_ACTIONS" in os.environ
|
14
|
+
|
15
|
+
|
11
16
|
def _is_running_under_pytest() -> bool:
|
12
17
|
"""Detect if we're running under pytest."""
|
13
18
|
# Check if pytest is in the loaded modules
|
@@ -25,7 +30,7 @@ def _get_container_name() -> str:
|
|
25
30
|
"""Get the appropriate container name based on runtime context."""
|
26
31
|
base_name = "fastled-wasm-container"
|
27
32
|
|
28
|
-
if _is_running_under_pytest():
|
33
|
+
if not _is_running_under_github_actions() and _is_running_under_pytest():
|
29
34
|
# Use test container name when running under pytest
|
30
35
|
return f"{base_name}-test{PLATFORM_TAG}"
|
31
36
|
else:
|
@@ -35,7 +40,7 @@ def _get_container_name() -> str:
|
|
35
40
|
|
36
41
|
def _get_server_port() -> int:
|
37
42
|
"""Get the appropriate server port based on runtime context."""
|
38
|
-
if _is_running_under_pytest():
|
43
|
+
if not _is_running_under_github_actions() and _is_running_under_pytest():
|
39
44
|
# Use test port when running under pytest to avoid conflicts
|
40
45
|
return 9022
|
41
46
|
else:
|
@@ -48,11 +53,7 @@ DEFAULT_URL = str(os.environ.get("FASTLED_URL", "https://fastled.onrender.com"))
|
|
48
53
|
SERVER_PORT = _get_server_port()
|
49
54
|
|
50
55
|
IMAGE_NAME = "niteris/fastled-wasm"
|
51
|
-
DEFAULT_CONTAINER_NAME = (
|
52
|
-
"fastled-wasm-container-test"
|
53
|
-
if _is_running_under_pytest()
|
54
|
-
else "fastled-wasm-container"
|
55
|
-
)
|
56
|
+
DEFAULT_CONTAINER_NAME = _get_container_name()
|
56
57
|
# IMAGE_TAG = "latest"
|
57
58
|
|
58
59
|
DOCKER_FILE = (
|
fastled/web_compile.py
CHANGED
@@ -317,8 +317,22 @@ def web_compile(
|
|
317
317
|
)
|
318
318
|
if has_embedded_status:
|
319
319
|
if embedded_status is not None and embedded_status != 200:
|
320
|
-
|
321
|
-
|
320
|
+
msg = f"Warning: libfastled compilation failed with embedded status {embedded_status}"
|
321
|
+
# this is a critical error
|
322
|
+
stdout = libfastled_response.content
|
323
|
+
if stdout is not None:
|
324
|
+
stdout = (
|
325
|
+
stdout.decode("utf-8", errors="replace")
|
326
|
+
+ "\n"
|
327
|
+
+ msg
|
328
|
+
)
|
329
|
+
else:
|
330
|
+
stdout = msg
|
331
|
+
return CompileResult(
|
332
|
+
success=False,
|
333
|
+
stdout=msg,
|
334
|
+
hash_value=None,
|
335
|
+
zip_bytes=b"",
|
322
336
|
)
|
323
337
|
# Continue with sketch compilation even if libfastled fails
|
324
338
|
elif embedded_status is None:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
fastled/__init__.py,sha256=dahiY41HLLotTjqmpVJmXSwUEp8NKqoZ57jt55hBLa4,7667
|
2
2
|
fastled/__main__.py,sha256=OcKv2ER1_iQAsZzLIUb3C8hRC9L2clNOhCrjpshrlf4,336
|
3
|
-
fastled/__version__.py,sha256=
|
3
|
+
fastled/__version__.py,sha256=aZOVGnEMQZuoy_zfnFeAaPih_9_5BaDK67H7ZGs2cRo,373
|
4
4
|
fastled/app.py,sha256=yZP_UbLLyteBkiYJQQLvqHmH14xwrayGKbL7jtjY6g4,6225
|
5
5
|
fastled/args.py,sha256=d8Afa7NMcNLMIQqIBX_ZOL5JOyeJ7XCch4LdkhFNChk,3671
|
6
6
|
fastled/cli.py,sha256=drgR2AOxVrj3QEz58iiKscYAumbbin2vIV-k91VCOAA,561
|
@@ -15,7 +15,7 @@ fastled/find_good_connection.py,sha256=xnrJjrbwNZUkvSQRn_ZTMoVh5GBWTbO-lEsr_L95x
|
|
15
15
|
fastled/interruptible_http.py,sha256=2QwUsRNJ1qawf_-Lp1l0dBady3TK0SrBFhmnWgM7oqg,4888
|
16
16
|
fastled/keyboard.py,sha256=UTAsqCn1UMYnB8YDzENiLTj4GeL45tYfEcO7_5fLFEg,3556
|
17
17
|
fastled/keyz.py,sha256=LO-8m_7CpNDiZLM-FXhQ30f9gN1bUYz5lOsUPTIbI-c,4020
|
18
|
-
fastled/live_client.py,sha256=
|
18
|
+
fastled/live_client.py,sha256=GPQf6Vj8mneEs4kc_nrfPlw-OmMMuDiIe2iWrP7FeeQ,3143
|
19
19
|
fastled/open_browser.py,sha256=N0d_D87sSBOUbBUl7gktJufdyM1laEKIERCXnEYCyu4,5086
|
20
20
|
fastled/parse_args.py,sha256=UiGgFoR_7ZCVC26rxE4FpxpmPu9xBhiiCD4pwmY_gLw,11520
|
21
21
|
fastled/paths.py,sha256=VsPmgu0lNSCFOoEC0BsTYzDygXqy15AHUfN-tTuzDZA,99
|
@@ -24,27 +24,27 @@ fastled/project_init.py,sha256=bBt4DwmW5hZkm9ICt9Qk-0Nr_0JQM7icCgH5Iv-bCQs,3984
|
|
24
24
|
fastled/select_sketch_directory.py,sha256=-eudwCns3AKj4HuHtSkZAFwbnf005SNL07pOzs9VxnE,1383
|
25
25
|
fastled/server_flask.py,sha256=HA0Pqkrr7OZn5TgMjykskXYrB-ACFd9sw7ND1L4RW-Y,17132
|
26
26
|
fastled/server_start.py,sha256=W9yKStkRlRNuXeV6j_6O7HjjFPyVLBHMcF9Uy2QjDWQ,479
|
27
|
-
fastled/settings.py,sha256=
|
27
|
+
fastled/settings.py,sha256=ONl8zwxmLDVWp2Cc60H578rlxi0_gr2iQhx48yiIjUk,1800
|
28
28
|
fastled/sketch.py,sha256=Ftbh55Nt-p4hmPuPpj8Q9HrMzvnUazhoG_q9FHcxkns,3473
|
29
29
|
fastled/spinner.py,sha256=VHxmvB92P0Z_zYxRajb5HiNmkHHvZ5dG7hKtZltzpcs,867
|
30
30
|
fastled/string_diff.py,sha256=oTncu0qYdLlLUtYLLDB4bzdQ2OfzegAR6XNAzwE9fIs,6002
|
31
31
|
fastled/types.py,sha256=ZDf1TbTT4XgA_pKIwr4JbkDB38_29ogSdDORjoT-zuY,1803
|
32
32
|
fastled/util.py,sha256=TjhXbUNh4p2BGhNAldSeL68B7BBOjsWAXji5gy-vDEQ,1440
|
33
33
|
fastled/version.py,sha256=TpBMiEVdO3_sUZEu6wmwN8Q4AgX2BiCxStCsnPKh6E0,1209
|
34
|
-
fastled/web_compile.py,sha256=
|
34
|
+
fastled/web_compile.py,sha256=hJ3_KfsQXynVjJDinw72u2aA5FkjA4KR0lxL03ns5gY,13376
|
35
35
|
fastled/zip_files.py,sha256=BgHFjaLJ7wF6mnzjqOgn76VcKDwhwc_-w_qyUG_-aNs,2815
|
36
36
|
fastled/assets/example.txt,sha256=lTBovRjiz0_TgtAtbA1C5hNi2ffbqnNPqkKg6UiKCT8,54
|
37
37
|
fastled/assets/localhost-key.pem,sha256=Q-CNO_UoOd8fFNN4ljcnqwUeCMhzTplRjLO2x0pYRlU,1704
|
38
38
|
fastled/assets/localhost.pem,sha256=QTwUtTwjYWbm9m3pHW2IlK2nFZJ8b0pppxPjhgVZqQo,1619
|
39
39
|
fastled/playwright/chrome_extension_downloader.py,sha256=48YyQrsuK1TVXPuAvRGzqkQJnx0991Ka6OVUo1A58zU,7079
|
40
|
-
fastled/playwright/playwright_browser.py,sha256=
|
40
|
+
fastled/playwright/playwright_browser.py,sha256=ukWn710kXvipAaqiahIjQbH2hLOUoVYtJcPDhzihCec,27635
|
41
41
|
fastled/site/build.py,sha256=2YKU_UWKlJdGnjdbAbaL0co6kceFMSTVYwH1KCmgPZA,13987
|
42
42
|
fastled/site/examples.py,sha256=s6vj2zJc6BfKlnbwXr1QWY1mzuDBMt6j5MEBOWjO_U8,155
|
43
43
|
fastled/test/can_run_local_docker_tests.py,sha256=LEuUbHctRhNNFWcvnz2kEGmjDJeXO4c3kNpizm3yVJs,400
|
44
44
|
fastled/test/examples.py,sha256=GfaHeY1E8izBl6ZqDVjz--RHLyVR4NRnQ5pBesCFJFY,1673
|
45
|
-
fastled-1.4.
|
46
|
-
fastled-1.4.
|
47
|
-
fastled-1.4.
|
48
|
-
fastled-1.4.
|
49
|
-
fastled-1.4.
|
50
|
-
fastled-1.4.
|
45
|
+
fastled-1.4.17.dist-info/licenses/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
|
46
|
+
fastled-1.4.17.dist-info/METADATA,sha256=RPd7A2q-2kzwWptmRngfg2U3DEYfg6Jmh_XnmBHjEBA,31910
|
47
|
+
fastled-1.4.17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
48
|
+
fastled-1.4.17.dist-info/entry_points.txt,sha256=RCwmzCSOS4-C2i9EziANq7Z2Zb4KFnEMR1FQC0bBwAw,101
|
49
|
+
fastled-1.4.17.dist-info/top_level.txt,sha256=Bbv5kpJpZhWNCvDF4K0VcvtBSDMa8B7PTOrZa9CezHY,8
|
50
|
+
fastled-1.4.17.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|