A list of system package exclusions may be set via the
MOONRAKER_EXCLUDED_PKGS environment variable.
In addition, a MOONRAKER_VENDOR enviroment
variable has been added to allow for manually setting
the vendor name.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
The update severity is stored in the upper 16 bits of the info code in
newer versions of package kit. Some backends may omit the lower
16-bits and only store the severity, in those cases use the update
severity enum value in place of the info value.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Rebase E high-water mark on active spool change to prevent spoolman undercount after tool changes
Signed-off-by: Ioannis Giannakas <ioannis@my-spot.co.uk>
The info_code included in the package signal may
contain a "package_severity" value in the upper
16-bits. Mask off the lower 16 bits to avoid an
instantiation error.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
thermal_zone0 doesn't exist on amd, and can be wrongly mapped on intel
Detect correct thermal zone based on hwmon name, fallback to thermal_zone0
Signed-off-by: Martijn van Duijneveldt <martijnvanduijneveldt@gmail.com>
This will allow for less common or newly created slicers to attach thumbnails into gcode, without a need to report as being a different slicer
Signed-off-by: Mateusz Szwedka <matszwe02@gmail.com>
Introduce an AgentError exception which contains error
details provided by the agent in response to a client
request. These details are included in an "extra" field
of the error object in the response.
Use code error code 424 (Failed Dependency) when an agent
responds to a request with an error.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
- Limit imports to those necessary during type checking
- Fix ambiguous annotations
- Remove calls to deprecated "datetime.utcnow"
- Rename TD1Protocol to TD1Connection
- Remove extraneous whitespace
- Remove duplicative "TD1._known_serials" class member.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
If force == true and None is passed as the read callback then
the existing reader will be closed and a new reader is created.
This can be used to exit an existing reader's iterator without
closing the serial connection.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
AsyncSerialConnection consumers may switch between Stream Reader mode and callback mode to process incoming data.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Python 3.7 and 3.8 are now EOL and not supported by the latest version
of Pip, so pip version pinning and updates required refactoring.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
The size of the file is not necessarily equal to the number of characters
read due to variable length utf8 encoding. Read gcode files in binary mode then encode to a string.
When determining the "gcode start byte" and "gcode end byte" use
the length of the decoded string to determine the correct value.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Packages updated via PyPI require a recent version of Pip
to perform the "dry run" installation used to determine
upstream version info.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
- Restructered `exclude_object` handling to be sent over `job_info` as
`skipped_objects`
- Append and track current job_id in `job_info` and `file_progress`
messages
- Fixed old test-url (internal usage)
- Send `current_object` as `job_info.object`
Signed-off-by: Javad Asgari Shafique <me@javad.sh>
Any transition to from an idle state to any state other
than "standby" should emit a started event. This should
nearly always be a "printing" state, however it is possible
that Klipper's API server will not have a chance to push
a "printing" status update if the print is immediately
paused, cancelled, or aborted due to an error.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
When a git project managed by moonraker is a submodule of a superproject, gitfile
contains a relative path.
Resolve contents of the gitfile relative to the directory containing the gitfile.
Signed-off-by: Božo Dragojevič <bozzo.dragojevic@gmail.com>
Currently the vendor is only detected for systems running
Raspberry Pi OS and reported as 'raspberry-pi'. This may be
used to filter Pi specific dependencies.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Implement optional polling for devices that are not updated
asynchronously. GPIO, RF, Klipper, and MQTT devices are
excluded.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Avoid binding to the detected unit name of the Klipper
service, if available. Exclude all async notifications
sent when the device is processing a request.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Version of Tornado prior to 6.5.0 have a bug that may
prematurely close websocket connections when pinging
is enabled. Disable pinging for Moonraker's websocket
server and spoolman's client.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Tornado client websockets treat the ping timeout differently
from server websockets. The ping timeout should be less than
the ping interval.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
Newer versions of Python can potentially destroy tasks
before they are complete due to garbage collection. To
prevent this a reference to all created tasks are kept in
a set and removed when the task is done.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>