1618 Commits

Author SHA1 Message Date
Eric Callahan
b8b28bc0c9 file_manager: add support for metadata gcode processors
Allow components to register gcode processors which will modify
the gcode file prior to metadata processing.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-17 08:06:46 -05:00
Eric Callahan
e338f537f5 pip_utils: handle exceptions when updating pip
Don't propagate exceptions when update_pip fails.  Some
systems may not be able to update pip, and the current
version of pip should be sufficient to install packages.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-17 08:06:46 -05:00
Eric Callahan
706455a6f8 source_info: include git worktree detection
Standard git repos contain a ".git" folder, however worktrees
contain a ".git" file.  The file provides the path to the worktree's
git directory.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-11 16:51:04 -05:00
Eric Callahan
f2c564cfb7 analysis: initial implementation
Adds support for GCode file time analysis using Klipper Estimator.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-11 08:01:50 -05:00
Eric Callahan
3ec968d873 python_deploy: update local state on refresh
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-10 18:17:39 -05:00
Eric Callahan
c7c2bb20d9 python_deploy: fix rollback procedure
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-10 18:17:39 -05:00
Eric Callahan
7f1907beb3 python_deploy: enable the eager pip update strategy
Attempt to update all dependencies of a python package to the
latest version compatible with its requirement specifier.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-10 18:17:39 -05:00
Eric Callahan
bda03dcf29 file_manager: emit event after gcode metadata has been processed
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-10 18:17:39 -05:00
Eric Callahan
530f1c2016 update_manager: add support for executable types
This change refactors zip_deploy.py, renaming it net_deploy.py.
Net hosted executables that currently exist on the system
with a valid `release_info.json` file can now be updated.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-10 18:17:39 -05:00
Eric Callahan
636626506a file_manager: provide method to look up paths by root
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-07 15:20:46 -05:00
Eric Callahan
152837959a authorization: add method to return api key
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-07 15:20:46 -05:00
Eric Callahan
ff2571180c update_manager: support internal updaters
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-07 15:20:46 -05:00
Eric Callahan
fb6e416e1c
mqtt: push Klipper status updates after subscription
This resolves an issue where MQTT clients miss the first status
update after a Klipper restart.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-07 06:15:26 -05:00
Eric Callahan
b8388db18d
klippy_connection: improve subscription request handling
If the connection requesting the subscription already had
an outstanding subscription, remove it before processing.
This prevents immediate status updates from being pushed
to the requesting connection.

Don't add connections to the dictionary of subscribed
connections if the request is an empty object, as this
is a request to unsubscribe from all objects.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-07 06:08:49 -05:00
Eric Callahan
e417d80244 update_manager: add upgrade endpoint
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-02-01 07:49:25 -05:00
Eric Callahan
0848fa1b59
update_manager: support "extra" reqs for python updates
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-29 16:31:58 -05:00
Eric Callahan
50e1f3c0c4
update_manager: report name and type for os package manager
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-29 16:28:33 -05:00
Eric Callahan
52781fbd9e update_manager: report updater name for git_repo types
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-27 20:25:04 -05:00
Eric Callahan
db64bc02c8 pip_utils: upgrade existing packages during installation
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-24 05:22:46 -05:00
Eric Callahan
432a3a653a
application: log http API request exceptions in verbose mode
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-23 08:11:41 -05:00
Eric Callahan
72ed175c52
src: type comparison fix
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-13 12:35:08 -05:00
Eric Callahan
7e765b667c
wled: lint fix
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-13 12:31:55 -05:00
Eric Callahan
239494e4dc wled: initial support for responses
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-13 11:13:41 -05:00
Eric Callahan
ca2772df79 wled: formatting and annotation fixes
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-13 11:13:41 -05:00
Eric Callahan
308a5eb5d4 wled: use async_serial utility
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-13 11:13:41 -05:00
Eric Callahan
0307a32e1b paneldue: use async_serial utility
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-13 11:13:41 -05:00
Eric Callahan
60c2bef474 async_serial: support for asyncio serial devices
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-13 11:13:41 -05:00
Eric Callahan
fe60ebd89a wled: don't import tornado dependencies
Use Moonraker's http client to communicate with the wled device.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-12 10:24:56 -05:00
Eric Callahan
fccffa96c6
build: replace dbus_next with dbus_fast
The dbus_next dependency is no longer maintained.  Replace
it with dbus_fast, which is a fork and drop in compatible.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-12 07:39:35 -05:00
Eric Callahan
c79ba01dba install: support for package requirement specifiers
Initial support for pip-like requirement specifiers applicable
to system packages.  This allows for a package dependencies
specific to distribution version.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2025-01-09 16:28:03 -05:00
Eric Callahan
a4604e3380
python_deploy: fix github dev channel updates
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-12-22 07:38:06 -05:00
Eric Callahan
ccfe32f236
datastore: store multiline commands as one entry
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-11-17 15:18:32 -05:00
Eric Callahan
d4ef626961
datastore: gcode command storage fix
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-11-17 14:51:03 -05:00
Eric Callahan
4e00a0760e application: verify upload filename
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-10-22 05:37:30 -04:00
Eric Callahan
f735c04194
power: fix 'address' option percent encoding
Allow "/" separators in the address.  This patch also resolves a regression in  the generic http client.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-08-11 13:52:00 -04:00
Eric Callahan
e66744b6e9 power: improve basic auth implementation
Rather than pass the user name and password via the
url, supply them directly to the http request.  This should guarantee that the authorization header is
generated correctly.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-08-11 06:26:23 -04:00
Eric Callahan
0a8590643f
server: refactor startup
Use asyncio.run() to launch the server application as recommended
by the Python docs.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-08-08 16:29:01 -04:00
Eric Callahan
3a42dac02b announcements: use data path for dev mode
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-08-08 15:02:23 -04:00
Eric Callahan
863d0c1e4b confighelper: don't resolve backup path
If the configuration file is a symbolic link we want the backup
generated in the config folder.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-08-08 15:02:13 -04:00
Eric Callahan
8debbf8ba4
source_info: resolve importlib_metadata compatibility issues
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-07-25 14:16:42 -04:00
Eric Callahan
7117cfc273
python_deploy: minor reporting fixes
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-07-25 12:46:21 -04:00
Eric Callahan
92ce2a5a5d
update_manager: correct base configuration
Remove deprecated "host_repo" option, update Klipper's venv args to invoke Python 3.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-07-25 10:27:21 -04:00
Eric Callahan
003acd5f64 update_manager: fetch klipper paths from klippy_connection
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-07-24 16:35:37 -04:00
Eric Callahan
9097cfcce7 klippy_connection: store klipper source path and python path
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-07-24 16:35:37 -04:00
Eric Callahan
484551e5bf app_deploy: streamline type and channel config
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-07-24 16:35:37 -04:00
Eric Callahan
9beecbda92 confighelper: add getchoice method
This getter provides a pattern for configuring an item that
within a range of choices.

Signed-off-by:  Eric Callahan <arksine@gmail.com>
2024-07-24 07:37:08 -04:00
Eric Callahan
96b1c22e28 update_manager: add support for python applications
Signed-off-by:  Eric Callahan <arksine.code@gmail.com
2024-07-24 07:37:08 -04:00
Eric Callahan
b8921ca593 python_deploy: support for updating python apps
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-07-24 07:37:08 -04:00
Eric Callahan
17dc05c9b7 versions: expand support for Python Package Versions
Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-07-24 07:37:08 -04:00
Eric Callahan
0ff1d79b5b server: improve add_warning method
Add an exc_info parameter that optionally takes an
exception that is passed to the logging function. This
will log the traceback without an additional logging call.

Signed-off-by:  Eric Callahan <arksine.code@gmail.com>
2024-07-24 07:37:08 -04:00