Added additional essential metdata for single extruder multi-material printing. This is critical to new Mainsail functionality to map tools to MMU spools when using Happy Hare (Klipper MMU driver)
Signed-off-by: Paul Morgan (moggieuk@hotmail.com)
Use the sysdeps_parser utility to parse the correct dependencies
out of the data returned by the configured system dependencies
json file.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
This functionality is used by the update manager to parse
the result from system dependency files. By moving it
out of the update manager it becomes easier to test,
extend, and maintain. Additionally it can be embedded
in the install script.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
The addition of "gcode file processors" makes it possible
for processor registration to occur in "component_init".
The file observer init must be delayed until after all processors
are registered to correctly process metadata for gcode files
added while Moonraker was not running.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Early feedback is that replacing the "estimated_time" field of the metadata
with the value returned by Klipper Estimator is not sufficient. The
post-process performed by Klipper Estimator also updates M73 gcode
commands, ETAs calculated based on progress are inaccurate without
these mods.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
It is possible to create, move, then close a file. Handle this case
by rescheduling the "create_file" event under the new name.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Perform a post-process with Klipper Estimator rather than
analyze and replace the "estimated_time" field in the metadata.
This updates the M73 commands in the gcode file, allowing for
more accurate ETAs.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>