fastled 1.2.17__tar.gz → 1.2.19__tar.gz

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.
Files changed (83) hide show
  1. {fastled-1.2.17 → fastled-1.2.19}/PKG-INFO +2 -1
  2. {fastled-1.2.17 → fastled-1.2.19}/README.md +1 -0
  3. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/__init__.py +1 -1
  4. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/client_server.py +39 -0
  5. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/open_browser.py +21 -12
  6. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/open_browser2.py +5 -0
  7. {fastled-1.2.17 → fastled-1.2.19}/src/fastled.egg-info/PKG-INFO +2 -1
  8. {fastled-1.2.17 → fastled-1.2.19}/.aiderignore +0 -0
  9. {fastled-1.2.17 → fastled-1.2.19}/.github/workflows/build_multi_docker_image.yml +0 -0
  10. {fastled-1.2.17 → fastled-1.2.19}/.github/workflows/build_webpage.yml +0 -0
  11. {fastled-1.2.17 → fastled-1.2.19}/.github/workflows/lint.yml +0 -0
  12. {fastled-1.2.17 → fastled-1.2.19}/.github/workflows/publish_release.yml +0 -0
  13. {fastled-1.2.17 → fastled-1.2.19}/.github/workflows/test_build_exe.yml +0 -0
  14. {fastled-1.2.17 → fastled-1.2.19}/.github/workflows/test_macos.yml +0 -0
  15. {fastled-1.2.17 → fastled-1.2.19}/.github/workflows/test_ubuntu.yml +0 -0
  16. {fastled-1.2.17 → fastled-1.2.19}/.github/workflows/test_win.yml +0 -0
  17. {fastled-1.2.17 → fastled-1.2.19}/.gitignore +0 -0
  18. {fastled-1.2.17 → fastled-1.2.19}/.pylintrc +0 -0
  19. {fastled-1.2.17 → fastled-1.2.19}/.vscode/launch.json +0 -0
  20. {fastled-1.2.17 → fastled-1.2.19}/.vscode/settings.json +0 -0
  21. {fastled-1.2.17 → fastled-1.2.19}/.vscode/tasks.json +0 -0
  22. {fastled-1.2.17 → fastled-1.2.19}/LICENSE +0 -0
  23. {fastled-1.2.17 → fastled-1.2.19}/MANIFEST.in +0 -0
  24. {fastled-1.2.17 → fastled-1.2.19}/RELEASE.md +0 -0
  25. {fastled-1.2.17 → fastled-1.2.19}/TODO.md +0 -0
  26. {fastled-1.2.17 → fastled-1.2.19}/build_exe.py +0 -0
  27. {fastled-1.2.17 → fastled-1.2.19}/build_site.py +0 -0
  28. {fastled-1.2.17 → fastled-1.2.19}/clean +0 -0
  29. {fastled-1.2.17 → fastled-1.2.19}/install +0 -0
  30. {fastled-1.2.17 → fastled-1.2.19}/lint +0 -0
  31. {fastled-1.2.17 → fastled-1.2.19}/pyproject.toml +0 -0
  32. {fastled-1.2.17 → fastled-1.2.19}/requirements.testing.txt +0 -0
  33. {fastled-1.2.17 → fastled-1.2.19}/setup.cfg +0 -0
  34. {fastled-1.2.17 → fastled-1.2.19}/setup.py +0 -0
  35. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/app.py +0 -0
  36. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/assets/example.txt +0 -0
  37. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/cli.py +0 -0
  38. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/compile_server.py +0 -0
  39. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/compile_server_impl.py +0 -0
  40. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/docker_manager.py +0 -0
  41. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/filewatcher.py +0 -0
  42. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/keyboard.py +0 -0
  43. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/live_client.py +0 -0
  44. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/parse_args.py +0 -0
  45. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/paths.py +0 -0
  46. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/project_init.py +0 -0
  47. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/select_sketch_directory.py +0 -0
  48. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/settings.py +0 -0
  49. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/site/build.py +0 -0
  50. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/sketch.py +0 -0
  51. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/spinner.py +0 -0
  52. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/string_diff.py +0 -0
  53. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/test/can_run_local_docker_tests.py +0 -0
  54. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/test/examples.py +0 -0
  55. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/types.py +0 -0
  56. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/util.py +0 -0
  57. {fastled-1.2.17 → fastled-1.2.19}/src/fastled/web_compile.py +0 -0
  58. {fastled-1.2.17 → fastled-1.2.19}/src/fastled.egg-info/SOURCES.txt +0 -0
  59. {fastled-1.2.17 → fastled-1.2.19}/src/fastled.egg-info/dependency_links.txt +0 -0
  60. {fastled-1.2.17 → fastled-1.2.19}/src/fastled.egg-info/entry_points.txt +0 -0
  61. {fastled-1.2.17 → fastled-1.2.19}/src/fastled.egg-info/requires.txt +0 -0
  62. {fastled-1.2.17 → fastled-1.2.19}/src/fastled.egg-info/top_level.txt +0 -0
  63. {fastled-1.2.17 → fastled-1.2.19}/test +0 -0
  64. {fastled-1.2.17 → fastled-1.2.19}/tests/html/index.html +0 -0
  65. {fastled-1.2.17 → fastled-1.2.19}/tests/test_api.py +0 -0
  66. {fastled-1.2.17 → fastled-1.2.19}/tests/test_bad_ino.py +0 -0
  67. {fastled-1.2.17 → fastled-1.2.19}/tests/test_build.py +0 -0
  68. {fastled-1.2.17 → fastled-1.2.19}/tests/test_build_examples.py +0 -0
  69. {fastled-1.2.17 → fastled-1.2.19}/tests/test_cli.py +0 -0
  70. {fastled-1.2.17 → fastled-1.2.19}/tests/test_compile_server.py +0 -0
  71. {fastled-1.2.17 → fastled-1.2.19}/tests/test_docker_linux_on_windows.py +0 -0
  72. {fastled-1.2.17 → fastled-1.2.19}/tests/test_embedded_data.py +0 -0
  73. {fastled-1.2.17 → fastled-1.2.19}/tests/test_examples.py +0 -0
  74. {fastled-1.2.17 → fastled-1.2.19}/tests/test_filechanger.py +0 -0
  75. {fastled-1.2.17 → fastled-1.2.19}/tests/test_http_server.py +0 -0
  76. {fastled-1.2.17 → fastled-1.2.19}/tests/test_ino/bad/bad.ino +0 -0
  77. {fastled-1.2.17 → fastled-1.2.19}/tests/test_ino/embedded/data/bigdata.dat +0 -0
  78. {fastled-1.2.17 → fastled-1.2.19}/tests/test_ino/embedded/wasm.ino +0 -0
  79. {fastled-1.2.17 → fastled-1.2.19}/tests/test_ino/wasm/wasm.ino +0 -0
  80. {fastled-1.2.17 → fastled-1.2.19}/tests/test_project_init.py +0 -0
  81. {fastled-1.2.17 → fastled-1.2.19}/tests/test_server_and_client_seperatly.py +0 -0
  82. {fastled-1.2.17 → fastled-1.2.19}/tests/test_webcompile.py +0 -0
  83. {fastled-1.2.17 → fastled-1.2.19}/upload_package.sh +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastled
3
- Version: 1.2.17
3
+ Version: 1.2.19
4
4
  Summary: FastLED Wasm Compiler
5
5
  Home-page: https://github.com/zackees/fastled-wasm
6
6
  Maintainer: Zachary Vorhies
@@ -285,6 +285,7 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` bun
285
285
 
286
286
  # Revisions
287
287
 
288
+ * 1.2.19 - Compilation failure now overwrites the index.html file with error message.
288
289
  * 1.2.16 - Force mime types in web browser as some users may not have it correct in their registry.
289
290
  * 1.2.15 - Rewrote http server using flask. Reduced install size significantly.
290
291
  * 1.2.13 - More fixes for npm live-server, now uses `static-npm` to launch it.
@@ -262,6 +262,7 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` bun
262
262
 
263
263
  # Revisions
264
264
 
265
+ * 1.2.19 - Compilation failure now overwrites the index.html file with error message.
265
266
  * 1.2.16 - Force mime types in web browser as some users may not have it correct in their registry.
266
267
  * 1.2.15 - Rewrote http server using flask. Reduced install size significantly.
267
268
  * 1.2.13 - More fixes for npm live-server, now uses `static-npm` to launch it.
@@ -15,7 +15,7 @@ from .types import BuildMode, CompileResult, CompileServerError
15
15
  # IMPORTANT! There's a bug in github which will REJECT any version update
16
16
  # that has any other change in the repo. Please bump the version as the
17
17
  # ONLY change in a commit, or else the pypi update and the release will fail.
18
- __version__ = "1.2.17"
18
+ __version__ = "1.2.19"
19
19
 
20
20
 
21
21
  class Api:
@@ -22,6 +22,41 @@ from fastled.web_compile import (
22
22
  )
23
23
 
24
24
 
25
+ def _create_error_html(error_message: str) -> str:
26
+ return f"""<!DOCTYPE html>
27
+ <html>
28
+ <head>
29
+ <!-- no cache -->
30
+ <meta http-equiv="Cache-Control" content="no-store" />
31
+ <meta http-equiv="Pragma" content="no-cache" />
32
+ <meta http-equiv="Expires" content="0" />
33
+ <title>FastLED Compilation Error ZACH</title>
34
+ <style>
35
+ body {{
36
+ background-color: #1a1a1a;
37
+ color: #ffffff;
38
+ font-family: Arial, sans-serif;
39
+ margin: 20px;
40
+ padding: 20px;
41
+ }}
42
+ pre {{
43
+ color: #ffffff;
44
+ background-color: #1a1a1a;
45
+ border: 1px solid #444444;
46
+ border-radius: 4px;
47
+ padding: 15px;
48
+ white-space: pre-wrap;
49
+ word-wrap: break-word;
50
+ }}
51
+ </style>
52
+ </head>
53
+ <body>
54
+ <h1>Compilation Failed</h1>
55
+ <pre>{error_message}</pre>
56
+ </body>
57
+ </html>"""
58
+
59
+
25
60
  # Override this function in your own code to run tests before compilation
26
61
  def TEST_BEFORE_COMPILE(url) -> None:
27
62
  pass
@@ -45,6 +80,10 @@ def _run_web_compiler(
45
80
  print("\nWeb compilation failed:")
46
81
  print(f"Time taken: {diff:.2f} seconds")
47
82
  print(web_result.stdout)
83
+ # Create error page
84
+ output_dir.mkdir(exist_ok=True)
85
+ error_html = _create_error_html(web_result.stdout)
86
+ (output_dir / "index.html").write_text(error_html, encoding="utf-8")
48
87
  return web_result
49
88
 
50
89
  def print_results() -> None:
@@ -12,19 +12,28 @@ def open_http_server_subprocess(
12
12
  fastled_js: Path, port: int, open_browser: bool
13
13
  ) -> None:
14
14
  """Start livereload server in the fastled_js directory and return the process"""
15
+ try:
16
+ cmd = [
17
+ PYTHON_EXE,
18
+ "-m",
19
+ "fastled.open_browser2",
20
+ str(fastled_js),
21
+ "--port",
22
+ str(port),
23
+ ]
24
+ if not open_browser:
25
+ cmd.append("--no-browser")
26
+ # return subprocess.Popen(cmd) # type ignore
27
+ # pipe stderr and stdout to null
28
+ subprocess.run(
29
+ cmd,
30
+ stdout=subprocess.DEVNULL,
31
+ stderr=subprocess.DEVNULL,
32
+ ) # type ignore
33
+ except KeyboardInterrupt:
34
+ import _thread
15
35
 
16
- cmd = [
17
- PYTHON_EXE,
18
- "-m",
19
- "fastled.open_browser2",
20
- str(fastled_js),
21
- "--port",
22
- str(port),
23
- ]
24
- if not open_browser:
25
- cmd.append("--no-browser")
26
- # return subprocess.Popen(cmd) # type ignore
27
- subprocess.run(cmd) # type ignore
36
+ _thread.interrupt_main()
28
37
 
29
38
 
30
39
  def open_browser_process(
@@ -42,6 +42,11 @@ def _run_flask_server(fastled_js: Path, port: int) -> None:
42
42
  response.headers["Content-Type"] = "image/x-icon"
43
43
  if path.endswith(".html"):
44
44
  response.headers["Content-Type"] = "text/html"
45
+
46
+ # now also add headers to force no caching
47
+ response.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
48
+ response.headers["Pragma"] = "no-cache"
49
+ response.headers["Expires"] = "0"
45
50
  return response
46
51
 
47
52
  app.run(port=port, debug=True)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastled
3
- Version: 1.2.17
3
+ Version: 1.2.19
4
4
  Summary: FastLED Wasm Compiler
5
5
  Home-page: https://github.com/zackees/fastled-wasm
6
6
  Maintainer: Zachary Vorhies
@@ -285,6 +285,7 @@ A: A big chunk of space is being used by unnecessary javascript `emscripten` bun
285
285
 
286
286
  # Revisions
287
287
 
288
+ * 1.2.19 - Compilation failure now overwrites the index.html file with error message.
288
289
  * 1.2.16 - Force mime types in web browser as some users may not have it correct in their registry.
289
290
  * 1.2.15 - Rewrote http server using flask. Reduced install size significantly.
290
291
  * 1.2.13 - More fixes for npm live-server, now uses `static-npm` to launch it.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes