Compare commits

..

No commits in common. "c4e253b4e0469f5f30de6762d6ce7d5656e50f26" and "98052312d95c7d4c02a3ccdde6365a9d5831fbc4" have entirely different histories.

4 changed files with 48 additions and 52 deletions

View File

@ -55,18 +55,16 @@ def get_config_pb2():
# try to just import a precompiled module if we have been given it in our path
# (perhaps someone already compiled it for us for whatever reason)
try:
logger.debug("Trying precompiled protobuf modules...")
return importlib.import_module('config_pb2')
except ModuleNotFoundError:
# no found precompiled config, try to compile the proto files in realtime
# because it's possible someone put them on the path
try:
logger.debug("No precompiled protobuf modules found, invoking gRPC tool to compile config.proto...")
logger.info("Invoking gRPC tool to compile config.proto...")
return grpc.protos('config.proto')
except (ModuleNotFoundError, TypeError):
# (TypeError could be the windows bug https://github.com/protocolbuffers/protobuf/issues/14345)
# that failed, import the snapshot (may be lagging what's in GP2040-CE)
logger.warning("using the fallback .proto files! please supply your files with -P if you can!")
sys.path.append(os.path.join(pathlib.Path(__file__).parent.resolve(), 'proto_snapshot'))
logger.debug("Invoking gRPC tool again to compile shipped config.proto...")
return grpc.protos('config.proto')

View File

@ -4,22 +4,22 @@
#
# pip-compile --extra=dev --output-file=requirements/requirements-dev.txt
#
aiohappyeyeballs==2.4.4
aiohappyeyeballs==2.4.2
# via aiohttp
aiohttp==3.11.10
aiohttp==3.10.8
# via
# aiohttp-jinja2
# textual-dev
# textual-serve
aiohttp-jinja2==1.6
# via textual-serve
aiosignal==1.3.2
aiosignal==1.3.1
# via aiohttp
attrs==24.3.0
attrs==24.2.0
# via
# aiohttp
# reuse
bandit==1.8.0
bandit==1.7.10
# via gp2040ce-binary-tools (pyproject.toml)
binaryornot==0.4.4
# via reuse
@ -27,11 +27,11 @@ boolean-py==4.0
# via
# license-expression
# reuse
build==1.2.2.post1
build==1.2.2
# via pip-tools
cachetools==5.5.0
# via tox
certifi==2024.12.14
certifi==2024.8.30
# via requests
cffi==1.17.1
# via cryptography
@ -40,22 +40,21 @@ chardet==5.2.0
# binaryornot
# python-debian
# tox
charset-normalizer==3.4.0
charset-normalizer==3.3.2
# via requests
click==8.1.7
# via
# pip-tools
# reuse
# textual-dev
colorama==0.4.6
# via tox
coverage[toml]==7.6.9
coverage[toml]==7.6.1
# via pytest-cov
cryptography==44.0.0
cryptography==43.0.1
# via secretstorage
decorator==5.1.1
# via gp2040ce-binary-tools (pyproject.toml)
distlib==0.3.9
distlib==0.3.8
# via virtualenv
docutils==0.21.2
# via readme-renderer
@ -90,18 +89,20 @@ flake8-mutable==1.2.0
# via gp2040ce-binary-tools (pyproject.toml)
flake8-pyproject==1.2.3
# via gp2040ce-binary-tools (pyproject.toml)
frozenlist==1.5.0
frozenlist==1.4.1
# via
# aiohttp
# aiosignal
grpcio==1.68.1
grpcio==1.66.2
# via grpcio-tools
grpcio-tools==1.68.1
grpcio-tools==1.66.2
# via gp2040ce-binary-tools (pyproject.toml)
idna==3.10
# via
# requests
# yarl
importlib-metadata==8.5.0
# via twine
iniconfig==2.0.0
# via pytest
isort==5.13.2
@ -121,9 +122,9 @@ jinja2==3.1.4
# aiohttp-jinja2
# reuse
# textual-serve
keyring==25.5.0
keyring==25.4.1
# via twine
license-expression==30.4.0
license-expression==30.3.1
# via reuse
linkify-it-py==2.0.3
# via markdown-it-py
@ -132,7 +133,7 @@ markdown-it-py[linkify,plugins]==3.0.0
# mdit-py-plugins
# rich
# textual
markupsafe==3.0.2
markupsafe==2.1.5
# via jinja2
mccabe==0.7.0
# via flake8
@ -150,25 +151,24 @@ multidict==6.1.0
# via
# aiohttp
# yarl
mypy==1.13.0
mypy==1.11.2
# via gp2040ce-binary-tools (pyproject.toml)
mypy-extensions==1.0.0
# via mypy
nh3==0.2.20
nh3==0.2.18
# via readme-renderer
packaging==24.2
packaging==24.1
# via
# build
# pyproject-api
# pytest
# setuptools-scm
# tox
# twine
pbr==6.1.0
# via stevedore
pip-tools==7.4.1
# via gp2040ce-binary-tools (pyproject.toml)
pkginfo==1.12.0
pkginfo==1.10.0
# via twine
platformdirs==4.3.6
# via
@ -179,11 +179,7 @@ pluggy==1.5.0
# via
# pytest
# tox
propcache==0.2.1
# via
# aiohttp
# yarl
protobuf==5.29.1
protobuf==5.28.2
# via grpcio-tools
pycodestyle==2.12.1
# via flake8
@ -203,14 +199,14 @@ pyproject-hooks==1.2.0
# via
# build
# pip-tools
pytest==8.3.4
pytest==8.3.3
# via
# gp2040ce-binary-tools (pyproject.toml)
# pytest-asyncio
# pytest-cov
pytest-asyncio==0.25.0
pytest-asyncio==0.24.0
# via gp2040ce-binary-tools (pyproject.toml)
pytest-cov==6.0.0
pytest-cov==5.0.0
# via gp2040ce-binary-tools (pyproject.toml)
python-debian==0.1.49
# via reuse
@ -226,11 +222,11 @@ requests==2.32.3
# twine
requests-toolbelt==1.0.0
# via twine
reuse==5.0.2
reuse==4.0.3
# via gp2040ce-binary-tools (pyproject.toml)
rfc3986==2.0.0
# via twine
rich==13.9.4
rich==13.8.1
# via
# bandit
# textual
@ -242,22 +238,22 @@ setuptools-scm==8.1.0
# via gp2040ce-binary-tools (pyproject.toml)
snowballstemmer==2.2.0
# via pydocstyle
stevedore==5.4.0
stevedore==5.3.0
# via bandit
textual==1.0.0
textual==0.81.0
# via
# gp2040ce-binary-tools (pyproject.toml)
# textual-dev
# textual-serve
textual-dev==1.7.0
textual-dev==1.6.1
# via gp2040ce-binary-tools (pyproject.toml)
textual-serve==1.1.1
# via textual-dev
tomlkit==0.13.2
# via reuse
tox==4.23.2
tox==4.20.0
# via gp2040ce-binary-tools (pyproject.toml)
twine==6.0.1
twine==5.1.1
# via gp2040ce-binary-tools (pyproject.toml)
typing-extensions==4.12.2
# via
@ -270,12 +266,14 @@ urllib3==2.2.3
# via
# requests
# twine
virtualenv==20.28.0
virtualenv==20.26.6
# via tox
wheel==0.45.1
wheel==0.44.0
# via pip-tools
yarl==1.18.3
yarl==1.13.1
# via aiohttp
zipp==3.20.2
# via importlib-metadata
# The following packages are considered to be unsafe in a requirements file:
# pip

View File

@ -4,9 +4,9 @@
#
# pip-compile --output-file=requirements/requirements.txt
#
grpcio==1.68.1
grpcio==1.66.2
# via grpcio-tools
grpcio-tools==1.68.1
grpcio-tools==1.66.2
# via gp2040ce-binary-tools (pyproject.toml)
linkify-it-py==2.0.3
# via markdown-it-py
@ -21,15 +21,15 @@ mdurl==0.1.2
# via markdown-it-py
platformdirs==4.3.6
# via textual
protobuf==5.29.1
protobuf==5.28.2
# via grpcio-tools
pygments==2.18.0
# via rich
pyusb==1.2.1
# via gp2040ce-binary-tools (pyproject.toml)
rich==13.9.4
rich==13.8.1
# via textual
textual==1.0.0
textual==0.81.0
# via gp2040ce-binary-tools (pyproject.toml)
typing-extensions==4.12.2
# via textual

View File

@ -119,7 +119,7 @@ async def test_simple_edit_via_input_field():
await pilot.wait_for_scheduled_animations()
await pilot.click('Input#field-input')
await pilot.wait_for_scheduled_animations()
await pilot.press('end', 'backspace', 'backspace', 'backspace', 'backspace', 'backspace', 'backspace', '5')
await pilot.press('backspace', 'backspace', 'backspace', 'backspace', 'backspace', 'backspace', '5')
await pilot.wait_for_scheduled_animations()
await pilot.click('Button#confirm-button')
assert pilot.app.config.displayOptions.deprecatedI2cSpeed == 5
@ -199,7 +199,7 @@ async def test_simple_edit_via_input_field_string():
await pilot.wait_for_scheduled_animations()
await pilot.click('Input#field-input')
await pilot.wait_for_scheduled_animations()
await pilot.press('end', 'backspace', '-', 'h', 'i')
await pilot.press('backspace', '-', 'h', 'i')
await pilot.wait_for_scheduled_animations()
await pilot.click('Button#confirm-button')
assert pilot.app.config.boardVersion == 'v0.7.-hi'
@ -229,7 +229,7 @@ async def test_add_node_to_repeated():
await pilot.wait_for_scheduled_animations()
await pilot.click('Input#field-input')
await pilot.wait_for_scheduled_animations()
await pilot.press('end', 'backspace', 'backspace', 'backspace', 'backspace', 'backspace', 'backspace', '5')
await pilot.press('backspace', 'backspace', 'backspace', 'backspace', 'backspace', 'backspace', '5')
await pilot.wait_for_scheduled_animations()
await pilot.click('Button#confirm-button')