fastled 1.2.67__py3-none-any.whl → 1.2.69__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/keyz.py CHANGED
@@ -1,31 +1,84 @@
1
- import importlib.resources as pkg_resources
1
+ # This was an experiment for https://localhost
2
+ # Important for audio sampling from sites like Youtube or an app like Audacity.
3
+ # However, pkg_resources does not work in the exe version of this app.
4
+ # For this to work pyinstaller needs special handling (probably a spec-file)
5
+ # in order to properly package up external resources.
6
+
7
+
2
8
  from dataclasses import dataclass
3
- from pathlib import Path
9
+
10
+ _ENABLE_SSL_CONFIG = False
4
11
 
5
12
 
6
13
  @dataclass
7
14
  class SslConfig:
8
- certfile: Path
9
- keyfile: Path
10
-
11
-
12
- def get_asset_path(filename: str) -> Path | None:
13
- """Locate a file from the fastled.assets package resources."""
14
- try:
15
- resource = pkg_resources.files("fastled.assets").joinpath(filename)
16
- # Convert to Path for file-system access
17
- path = Path(str(resource))
18
- return path if path.exists() else None
19
- except (ModuleNotFoundError, AttributeError):
20
- return None
15
+ cert: str
16
+ key: str
21
17
 
22
18
 
23
19
  def get_ssl_config() -> SslConfig | None:
24
20
  """Get the keys for the server"""
25
- # certfile = get_asset_path("localhost-key.pem")
26
- # keyfile = get_asset_path("localhost.pem")
27
- # if certfile is None or keyfile is None:
28
- # raise ValueError("Could not find keys for server")
29
- # # return certfile, keyfile
30
- # return SslConfig(certfile=certfile, keyfile=keyfile)
31
- return None
21
+ if not _ENABLE_SSL_CONFIG:
22
+ return None
23
+ return SslConfig(
24
+ cert=_CERT,
25
+ key=_PRIVATE_KEY,
26
+ )
27
+
28
+
29
+ _PRIVATE_KEY = """-----BEGIN PRIVATE KEY-----
30
+ MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDlxbWcpUXPpjqs
31
+ DJPgFF1FsXPZqq0JPJqssHh4ZLfN0h4yJmj+kRcHS+pkgXnG46g6bUcL/AK5Ba08
32
+ vwnUUGkPH0v4ShKiAGYwvOcbWaqTmvvJuIoaDBXh2jSCeOTagNoaHLYEugARkkEu
33
+ 0/FEW5P/79wU5vJ5G+SyZ8rBCVdxlU57pL1hKWBU7K+BLWsCiZ308NMpzHF5APZ6
34
+ YxVjhFosJPr4TjN6yXr+whrsAjSTHamD5690MbXWyyPG0jwPQyjBot/cNtt8GrsN
35
+ gcjA1E+8VKFvxO8RvZanMZLb0CGEpt7u3oaJ/jprHEsw+/UhnG6Qhksm8C/DN9kP
36
+ hselewffAgMBAAECggEARjQ6YTo+Mkvf8WGGbRjLxteJRiBX7lKOD+V7aY2ce06P
37
+ 21LREbbTCm+vljXZN2OnqvJomsjNLCsH21+jaTOIZg5x79LyDn2Au7N8CWdELwVT
38
+ mTbBO2Ql63P4R0UY54onGYNcOeV6z+OX9u7a8L/qYHCxFdHalBZpsfj0gjaQeStJ
39
+ JSnvGjo6tKkwC/nUmX01qEVQgUO1+39WYqCaIWjijZNXt6XiKclEuu1AkL0u6Mpt
40
+ CzvzEDrEA66D0Lvl3Tek9B4O16Oie5anNnNMHigwU9yVc6dI8vDCRSEiz7laPTFK
41
+ xzOCQmqPGClKXkX3U+OvZp/Ss9U26Wpu0AbRKTvzAQKBgQDsMR9NjMpOmUaWkAwl
42
+ 1wlUxsZ9YkRuTy7R3RfIdYWj6Lcoc4/iN0qILFM7xidkHhYTFqnsnP1SQkV6lEHV
43
+ OalYxZu9F2l1rHPc8G5YWh/KOg1rAEI47MVT4iwhA2fw6JLti/rm25AeSTMjSTqu
44
+ ht3146036opcIF3v86oGUrSXDwKBgQD5CsNcwLeUDGXozjq62T8/mTYwd2Tw3aiY
45
+ KaGp+exAW321vYm5SKsMitBMGU2tGFlv5eptSI48h7SCpgnszaexw7yj30KuvqjG
46
+ bBqq/MsKuXHyn2sG0A7MJ6zfk+4l46B45blDJZ+x7xL0dyS4UCU3zUeesgSGo4zK
47
+ ZOspPIQCMQKBgQCk35VuWP1P6IbxyxPvxi/pUeh01gfWyMdyD9fuQrtLM8PHJQQn
48
+ cVlBvU9MxoHwzV+za3qqhNwAc+p0KtHZuiqQoUCZuqIPVpZ6gAtG+YJ/dA6xxrhz
49
+ bDRC3frYALyp2m/WCoTWaiYsPgTIePHRqqt+XbQo+DwlGyL3wSvKxijx2QKBgCb0
50
+ OwioEE70/X/DukX9szn0chh0pHJUiYl7gZD/yadraCdkRUWZC0BD+j7c+lxn4Z1y
51
+ HhAH+E+Zfm+tHwJOTLuufTQ4uMpygh2/TRCPyAaeaSdlLi17n8TpM84o6mg8yZ3/
52
+ eNH68Za4aYOZm0HFL30h++DjwXd534zM6keh8pgRAoGBAKUrsjDGjuSo8l1fi4Cq
53
+ INu/rQop2h/db02zyJP5q7NKhE1nqogeLwwn+2M/LtHQ1nIzZR+rvrLNgt6oWY31
54
+ sPsv8JUfVT8GmdhU9KKmizK6eUu3rWdj2+rJARmuEaPmHcD5O6oJaGU0qadqQP34
55
+ H+enwWmpyZXAIbEu/q63DFhV
56
+ -----END PRIVATE KEY-----"""
57
+
58
+ _CERT = """-----BEGIN _CERTIFICATE-----
59
+ MIIEfTCCAuWgAwIBAgIRAPb7jkLrCuqToG+s3AQYeuUwDQYJKoZIhvcNAQELBQAw
60
+ gakxHjAcBgNVBAoTFW1rY2VydCBkZXZlbG9wbWVudCBDQTE/MD0GA1UECww2REVT
61
+ S1RPUC1JMzcxOERPXFphY2ggVm9yaGllc0BERVNLVE9QLUkzNzE4RE8gKG5pdGVy
62
+ aXMpMUYwRAYDVQQDDD1ta2NlcnQgREVTS1RPUC1JMzcxOERPXFphY2ggVm9yaGll
63
+ c0BERVNLVE9QLUkzNzE4RE8gKG5pdGVyaXMpMB4XDTI1MDQyODAwMzk1MFoXDTI3
64
+ MDcyODAwMzk1MFowajEnMCUGA1UEChMebWtjZXJ0IGRldmVsb3BtZW50IGNlcnRp
65
+ ZmljYXRlMT8wPQYDVQQLDDZERVNLVE9QLUkzNzE4RE9cWmFjaCBWb3JoaWVzQERF
66
+ U0tUT1AtSTM3MThETyAobml0ZXJpcykwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
67
+ ggEKAoIBAQDlxbWcpUXPpjqsDJPgFF1FsXPZqq0JPJqssHh4ZLfN0h4yJmj+kRcH
68
+ S+pkgXnG46g6bUcL/AK5Ba08vwnUUGkPH0v4ShKiAGYwvOcbWaqTmvvJuIoaDBXh
69
+ 2jSCeOTagNoaHLYEugARkkEu0/FEW5P/79wU5vJ5G+SyZ8rBCVdxlU57pL1hKWBU
70
+ 7K+BLWsCiZ308NMpzHF5APZ6YxVjhFosJPr4TjN6yXr+whrsAjSTHamD5690MbXW
71
+ yyPG0jwPQyjBot/cNtt8GrsNgcjA1E+8VKFvxO8RvZanMZLb0CGEpt7u3oaJ/jpr
72
+ HEsw+/UhnG6Qhksm8C/DN9kPhselewffAgMBAAGjXjBcMA4GA1UdDwEB/wQEAwIF
73
+ oDATBgNVHSUEDDAKBggrBgEFBQcDATAfBgNVHSMEGDAWgBSPBydvhr9wI+FsoW/H
74
+ WK3DbS8IUDAUBgNVHREEDTALgglsb2NhbGhvc3QwDQYJKoZIhvcNAQELBQADggGB
75
+ AJVrF1yczZaxt+A2AhdeFbJQUR6NzGBTc20YeWF1YzLV5sV3QVumwZLP2M9ggRgd
76
+ xWV0xfwUHobFQk6RIPTADcLKctiurql0cgF4DPnpWVvto9RM00U3AkQcMj3xtKBV
77
+ wUqo83TcbqgL+euudFZ09gGTs9u9AENaZPcMh+rW8DDO92t+EwMI/IfopxVOJGUB
78
+ RSM3yTwV93BMYBuddt8mclzLzPK/1WONfsHU2xEascaHR1tYMOmJN9Vq4o0fzWxo
79
+ a2vI6K0aJqZV/ztdXq3akwLc6/e9hyptHWa0i/022xVCyNWIlnuEhT7ENMPxh6rX
80
+ ZCQCZVnhcSWAyFjggLJql3aSID5fPF8rmN7wWsB/I5pl9qwMR1/THMPrm5aWn1Xj
81
+ xW6PxkSGm73kd57DH7tqm5HTd8eYCbnsFofI9rC7xI6HCfwchKp+YHvIEu/LJ56E
82
+ FLnCZW/orYkHCzWntzxv1bddrw1BwaNR8Q+mu3imRP8fuyXb2UkFkINVVyOOWHuW
83
+ Kw==
84
+ -----END _CERTIFICATE-----"""
fastled/open_browser.py CHANGED
@@ -8,7 +8,6 @@ from fastled.keyz import get_ssl_config
8
8
 
9
9
  DEFAULT_PORT = 8089 # different than live version.
10
10
  PYTHON_EXE = sys.executable
11
- SSL_CONFIG = get_ssl_config()
12
11
 
13
12
 
14
13
  # print(f"SSL Config: {SSL_CONFIG.certfile}, {SSL_CONFIG.keyfile}")
@@ -21,6 +20,7 @@ def _open_http_server_subprocess(
21
20
  print("\n################################################################")
22
21
  print(f"# Opening browser to {fastled_js} on port {port}")
23
22
  print("################################################################\n")
23
+ ssl = get_ssl_config()
24
24
  try:
25
25
  # Fallback to our Python server
26
26
  cmd = [
@@ -32,18 +32,8 @@ def _open_http_server_subprocess(
32
32
  str(port),
33
33
  ]
34
34
  # Pass SSL flags if available
35
- if SSL_CONFIG and SSL_CONFIG.certfile and SSL_CONFIG.keyfile:
36
- cmd.extend(
37
- [
38
- "--cert",
39
- str(SSL_CONFIG.certfile),
40
- "--key",
41
- str(SSL_CONFIG.keyfile),
42
- ]
43
- )
44
- print(
45
- f"Running server on port {port} with certs: {SSL_CONFIG.certfile}, {SSL_CONFIG.keyfile}"
46
- )
35
+ if ssl:
36
+ raise NotImplementedError("SSL is not implemented yet")
47
37
  print(f"Running server on port {port}.")
48
38
  print(f"Command: {subprocess.list2cmdline(cmd)}")
49
39
  # Suppress output
fastled/util.py CHANGED
@@ -8,3 +8,12 @@ def hash_file(file_path: Path) -> str:
8
8
  for chunk in iter(lambda: f.read(4096), b""):
9
9
  hasher.update(chunk)
10
10
  return hasher.hexdigest()
11
+
12
+
13
+ def banner_string(msg: str) -> str:
14
+ """
15
+ Return `msg` surrounded by a border of # characters, including
16
+ leading and trailing newlines.
17
+ """
18
+ border = "#" * (len(msg) + 4)
19
+ return f"\n{border}\n# {msg}\n{border}\n"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fastled
3
- Version: 1.2.67
3
+ Version: 1.2.69
4
4
  Summary: FastLED Wasm Compiler
5
5
  Home-page: https://github.com/zackees/fastled-wasm
6
6
  Maintainer: Zachary Vorhies
@@ -1,17 +1,17 @@
1
- fastled/__init__.py,sha256=lTKJ3KlW2AKYLaZwQyjzVKAegYZnjowitErPOQkIvZo,6734
2
- fastled/app.py,sha256=Ozn7OJ0rz3CEHsJKMhFLxV7TisRKo4DuFpVhrf5FQNw,3944
1
+ fastled/__init__.py,sha256=msuOtc9qIr3zXuR720kXVEr15q25Fkwja57Je0ZIGiM,6770
2
+ fastled/app.py,sha256=DRoHHiaaLHENh8_4Hs730z-A5Z7d3O2_AA-Jt7w7d4Y,4026
3
3
  fastled/cli.py,sha256=FjVr31ht0UPlAcmX-84NwfAGMQHTkrCe4o744jCAxiw,375
4
4
  fastled/cli_test.py,sha256=qJB9yLRFR3OwOwdIWSQ0fQsWLnA37v5pDccufiP_hTs,512
5
5
  fastled/client_server.py,sha256=eG82h-27Y40szCew976lv9I6bP-YxtRV6sFNDVNTapo,14525
6
- fastled/compile_server.py,sha256=ul3eiZNX2wwmInooo3PJC3_kNpdejYVDIo94G3sV9HQ,2941
7
- fastled/compile_server_impl.py,sha256=xhC7WBlIfvghgpxAP8VwBeM13NuTA99cI47prODW-IU,9927
8
- fastled/docker_manager.py,sha256=lZMuNxAJytIopzrLVKXI4f3mqoEXh1KGTyviH114ZIA,31447
6
+ fastled/compile_server.py,sha256=rkXvrvdav5vDG8lv_OlBX3YSCHtnHMt25nXbfeg_r78,2960
7
+ fastled/compile_server_impl.py,sha256=kBPIn1Q5Q0nyY59CoEDA6h3RX2oQDOm8cfmIvb6quJI,11001
8
+ fastled/docker_manager.py,sha256=HLjQaXB6zaxBFpcOOX1SEajCHljckD3VbPMDJgI6Ae0,35623
9
9
  fastled/filewatcher.py,sha256=3qS3L7zMQhFuVrkeGn1djsB_cB6x_E2YGJmmQWVAU_w,10033
10
10
  fastled/interactive_srcs.py,sha256=F5nHdJc60xsnmOtnKhngE9JytqGn56PmYw_MVSIX1ac,138
11
11
  fastled/keyboard.py,sha256=UTAsqCn1UMYnB8YDzENiLTj4GeL45tYfEcO7_5fLFEg,3556
12
- fastled/keyz.py,sha256=7TZUnu0ff8eXpTWRXoEw-WzKqSI_uN3jcXlN210Czjs,973
12
+ fastled/keyz.py,sha256=LO-8m_7CpNDiZLM-FXhQ30f9gN1bUYz5lOsUPTIbI-c,4020
13
13
  fastled/live_client.py,sha256=MDauol0mxtXggV1Pv9ahC0Jjg_4wnnV6FjGEtdd9cxU,2763
14
- fastled/open_browser.py,sha256=ZwNych2zW7Y75jLRW5AL0Xck-2NC4HxtaOfYP9unmds,4187
14
+ fastled/open_browser.py,sha256=Fv1w645rrVROaW4jjyU70Cfz6QPbyIqjK5yu16lhBlo,3836
15
15
  fastled/parse_args.py,sha256=xgjxirQVX3FQxHZNVJtQQxTOeSJRQdGUNQ7W33Y880Y,8051
16
16
  fastled/paths.py,sha256=VsPmgu0lNSCFOoEC0BsTYzDygXqy15AHUfN-tTuzDZA,99
17
17
  fastled/project_init.py,sha256=OCIqpGmRMHNQtlXMTfX1x4Sou5WZgJtBNqPhnXbFFLI,4113
@@ -25,7 +25,7 @@ fastled/sketch.py,sha256=tHckjDj8P6BI_LWzUFM071a9qcqPs-r-qFWIe50P5Xw,3391
25
25
  fastled/spinner.py,sha256=VHxmvB92P0Z_zYxRajb5HiNmkHHvZ5dG7hKtZltzpcs,867
26
26
  fastled/string_diff.py,sha256=9Q_36W0j7HvTnvfemdq9Ldi5RznGj0duX0Y3sZmVwJI,1730
27
27
  fastled/types.py,sha256=ZFqHxYIGSeQb9FiImA5KDXZLhmmVSjOrIQDduwxmCZw,4494
28
- fastled/util.py,sha256=t4M3NFMhnCzfYbLvIyJi0RdFssZqbTN_vVIaej1WV-U,265
28
+ fastled/util.py,sha256=17f2A52TfBErJOEGC_Vs72t1mTDocLVTfnR9hWbXW8A,501
29
29
  fastled/web_compile.py,sha256=H2Tm5kMBaRjqdHqxv7L3-xSeYNHi0k0P-XM0Cn9esOo,10360
30
30
  fastled/assets/example.txt,sha256=lTBovRjiz0_TgtAtbA1C5hNi2ffbqnNPqkKg6UiKCT8,54
31
31
  fastled/assets/localhost-key.pem,sha256=Q-CNO_UoOd8fFNN4ljcnqwUeCMhzTplRjLO2x0pYRlU,1704
@@ -34,9 +34,9 @@ fastled/site/build.py,sha256=pjsaeHQQh_Zdh1g5Q78lYlUT7UPDFuNgW5YZkpsPxWc,14436
34
34
  fastled/site/examples.py,sha256=s6vj2zJc6BfKlnbwXr1QWY1mzuDBMt6j5MEBOWjO_U8,155
35
35
  fastled/test/can_run_local_docker_tests.py,sha256=LEuUbHctRhNNFWcvnz2kEGmjDJeXO4c3kNpizm3yVJs,400
36
36
  fastled/test/examples.py,sha256=GfaHeY1E8izBl6ZqDVjz--RHLyVR4NRnQ5pBesCFJFY,1673
37
- fastled-1.2.67.dist-info/licenses/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
38
- fastled-1.2.67.dist-info/METADATA,sha256=BoNgduQDSDCD7Tyg0GmXb7c4Kk9VOmyIb7buQhKwj8Q,22465
39
- fastled-1.2.67.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
40
- fastled-1.2.67.dist-info/entry_points.txt,sha256=RCwmzCSOS4-C2i9EziANq7Z2Zb4KFnEMR1FQC0bBwAw,101
41
- fastled-1.2.67.dist-info/top_level.txt,sha256=Bbv5kpJpZhWNCvDF4K0VcvtBSDMa8B7PTOrZa9CezHY,8
42
- fastled-1.2.67.dist-info/RECORD,,
37
+ fastled-1.2.69.dist-info/licenses/LICENSE,sha256=b6pOoifSXiUaz_lDS84vWlG3fr4yUKwB8fzkrH9R8bQ,1064
38
+ fastled-1.2.69.dist-info/METADATA,sha256=hsv5Lr3b92rgL6Kga2OvXentTbXwpd6qM6PSzLI_ndc,22465
39
+ fastled-1.2.69.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
40
+ fastled-1.2.69.dist-info/entry_points.txt,sha256=RCwmzCSOS4-C2i9EziANq7Z2Zb4KFnEMR1FQC0bBwAw,101
41
+ fastled-1.2.69.dist-info/top_level.txt,sha256=Bbv5kpJpZhWNCvDF4K0VcvtBSDMa8B7PTOrZa9CezHY,8
42
+ fastled-1.2.69.dist-info/RECORD,,