Several components throughout Moonraker determine whether or not
Klipper is printing or is ready before taking action. This centralizes
queries in one area. The checks do not query Klipper directly but
rather rely on subscriptions to push state to Moonraker.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
This change allows the user to choose the strategy for publishing
klipper states to MQTT. The original strategy where all state
updates are published to a common topic is still the default, but
can be turned off using the "publish_combined_status" config option.
The newly added strategy is publishing individual state updates to
separate mqtt topics. It is disabled by default, and can be enabled
with the "publish_split_status" config option.
Signed-off-by: Matt White <m.w.white@gmail.com>
The "force" argument may be used turn on a device during a print
that is otherwise locked for normal requests.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
While the [update_manager client ...] naming convention is
deprecated it should not be disallowed. This fixes service restart
issues using the old naming convention.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Support unix connections with full access to all JSON-RPC APIs.
Internally these connections are treated as websocket connections,
however the underlying transport protocol is simplfied. Packets
are JSON encoded objects terminated with an ETX character.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Separate out code that applies to both standard websockets and the
future unix socket implementation.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Do not add inotify watches for reserved paths that exclude
write acccess. Do not return include reserved paths in
file list requests without read access.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
It is possible that the user manually corrected a corrupt repo.
If a repo makes it past initialization reset the corrupt flag.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
This allows for more advanced integration of LDAP databases that are not
covered by the default behaviour of is_active_directory.
Signed-off-by: Nick Douma <n.douma@nekoconeko.nl>
It that "git status" will not detect some repo issues, these are only
found after a fetch. When this condition is detected save the repo
state and report that the repo is corrupt and invalid.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
I'm playing with using git submodules to track my entire printer config,
and moonraker only works with separate clones as is. Using `.exists()`
instead of `.is_dir()` allows moonraker to control the submodules.
Signed-off-by: Franklyn Tackitt <git@frank.af>
The previous "/lost+found" is not available on all systems. Change to
"/root", which should be available.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>