Arksine
07c307f4ea
moonraker: Only return subscribed items in response to "objects/subscribe"
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 08:32:06 -05:00
Arksine
daa93b0a2f
app: include all arguments in parsers
...
Clients may provide arguments either in the query string or body. Reserved arguments "token" and "connection_id" are excluded from the result.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 05:37:20 -05:00
Arksine
5836d60d88
app: allow http requests to specifiy a websocket id
...
Some requests, such "printer/objects/subscribe", require a websocket
for asynchronous updates. Clients may now specify a "connection_id"
in the form data that identifies an associated websocket.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
92d1715d88
app: Simplify request handlers
...
There is no need to pass the auth, server, or websocket manager objects to request handlers. They can be retreived directly from the application reference.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
7abc86847e
websockets: register server.websocket.id
remote method
...
This allows clients to request the unique ID associated with each connected websocket.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
a6913a982a
moonraker: manage subscriptions independently for each connection
...
This allows clients to "unsubscribe"by sending an empty dict. Each client will receive updates only for subscribed objects.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
8d1239c316
websockets: pass connection to WebRequest
...
This gives handlers direct access to a websocket client connection.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
de1575f757
power: update request handlers to accept WebRequest objects
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
6c8ef93f9f
machine: update request handlers to accept WebRequest objects
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
a260356d78
klippy_apis: update request handlers to accept WebRequest objects
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
27a17ed5a6
file_manager: update request handlers to accept WebRequest objects
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
870cabfa05
data_store: update request handlers to accept WebRequest objects
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
7cd51fe1eb
authorization: update request handlers to accept WebRequest objects
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
ac38899d1f
moonraker: update request handlers to accept WebRequest objects
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
faa415a823
app: Wrap incoming requests in a WebRequest object
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
30c236f1a9
websockets: add WebRequest class
...
This class encapsulates all request data received from a client. This simplifies callbacks and makes it easier to add additional parameters to a client request.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:46:21 -05:00
Arksine
b83211e98d
paneldue: convert "paneldue_beep" into a coroutine
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:41:26 -05:00
Arksine
6dfab37ef8
moonraker: spawn remote methods on the event loop
...
This allows regsitered methods to be coroutines. Execution is done on the event loop to prevent a coroutine from blocking the incoming command queue.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 04:39:53 -05:00
Pawel Zubrycki
a0e23eb22a
power: make the module more modular
...
Signed-off-by: Pawel Zubrycki <paw.zubr@gmail.com>
2020-11-09 06:48:00 -05:00
Arksine
453745c1b6
file_manager: rename references from "url_path" to "rel_path"
...
This is a better description of the item parsed from _convert_path() is a path relative to the "root" directory.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-08 07:39:59 -05:00
Arksine
3b63205e70
websockets: Report exception when "TypeError" is caught
...
Signed-off-by: Eric Callahan <arksine.coded@gmail.com>
2020-11-08 07:39:37 -05:00
Arksine
ffdcfd527a
file_manager: clear metadata on item delete or move
...
When a directory is deleted or moved go ahead and prune the storage.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-08 07:39:36 -05:00
Arksine
472c7c4b23
file_manager: rename all refrences of "base" to "root"
...
Previously different parts of the file manager referred to name identifying a "root directory" as either base or root. This could lead to confusion, so all references are now "root".
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-07 20:36:08 -05:00
Arksine
c415f9ee15
file_manager: Don't store file lists
...
Since we need to walk through a file list each time one is requested there is no gain from storing lists locally.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-07 20:36:08 -05:00
Arksine
e51dbb45c1
file_manager: refactor the MetadataStorage class
...
Storage is now updated by individual calls to "parse_metadata()" instead of passing a full list. This will allow the manager to
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-07 20:36:08 -05:00
Arksine
59d27e6829
power: register "set_device_power" remote method
...
This allows device power to be toggled from a klipper gcode macro.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-07 20:34:56 -05:00
Arksine
6464bbfc3c
paneldue: register "paneldue_beep" remote method
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-07 20:34:56 -05:00
Arksine
ba78a82a26
moonraker: add ability to register remote methods with Klippy
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-07 20:34:56 -05:00
Arksine
c6d629659b
klippy_apis: Add API to register methods with Klippy
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-07 20:34:56 -05:00
Arksine
8bd6e45303
file_manager: fix bug in _handle_metadata_request()
...
Don't modify the metadata directly. Create a copy, then add the "filename" item.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-05 12:43:17 -05:00
Arksine
624be50026
file_manager: add "extended" argument to directory endpoint
...
If extended==True is passed to GET directory then the result for each gcode file will include associate metadata, if present.
SIgned-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-02 20:18:07 -05:00
Arksine
f14b1f3ff0
file_manager: use os.path.splitext to find file extensions
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-02 20:18:03 -05:00
Arksine
0d515e4938
file_manager: Add support for uploading and extracting ufp files
...
Credit to GitHub user cdkeito for creating a template from which this implementation was inspired.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-10-31 08:40:49 -04:00
Jordan Ruthe
b63d192df7
power: add websocket notification
...
Signed-off-by: Jordan Ruthe <jordanruthe@gmail.com>
2020-10-27 18:08:56 -04:00
Arksine
7554a599b4
paneldue: Convert "modifed" attribute of metadata to a string
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-10-21 17:54:36 -04:00
Arksine
f2fb8d33d4
file_manager: store file "modified" time as unix time
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-10-21 17:53:08 -04:00
Arksine
8a6503da8a
datastore: Add timestamp (in unix time) field to each line in the gcode store
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-10-18 16:52:08 -04:00
Arksine
ab35346f24
moonraker: Add method to retreive host info
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-10-13 07:53:40 -04:00
Arksine
28844cb41d
PanelDue: Dump recieved gcode queue on restart
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-10-11 09:09:17 -04:00
Arksine
8fcccfd46e
moonraker: Add "/server/restart" endpoint
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-10-11 09:09:17 -04:00
Arksine
f220e1b2ee
moonraker: remove stale objects from subscription tracking
...
This prevents moonraker from subscribing to unknown printer objects on startup.
SIgned-off-by: Eric Callahan <arksine.code@gmail.com>
2020-10-10 08:52:44 -04:00
Arksine
346c3ad2a0
PanelDue: Make checksums optional
...
Some displays which emulate PD firmware do not use checksums.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-10-08 14:28:15 -04:00
Arksine
7a013a42f7
machine: Use shutdown -r command to reboot
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-10-05 18:23:58 -04:00
Arksine
264e708c1d
file_manager: fix typo in directory check
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-10-05 18:16:10 -04:00
Arksine
620fb356cc
file_manager: Update the internal file list when get_directory
is called
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-10-05 17:57:18 -04:00
Arksine
7e3f236393
data_store: add "/server/gcode_store" endpoint
...
Clients may use this API to fetch up to 1000 lines of cached gocde responses.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-09-28 14:57:44 -04:00
Arksine
b8fc6f5130
plugins: rename "temperature_store" plugin to "data_store".
...
This is in preparation for additional storage functionality.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-09-28 14:08:40 -04:00
Arksine
756492f349
moonraker: add "/server/info" endpoint
...
This method provides basic server information, such as loaded plugins and the state of the UDS connection to Klippy.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-09-26 08:34:05 -04:00
Arksine
6905515f3d
shell_command: add ability to cancel a running process
...
Also adds an indefinite timeout if the timeout is specified as "None".
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-09-26 06:14:35 -04:00
Arksine
3d1faebf15
moonraker: load_plugin() fix
...
Make sure that the correct config section is loaded when "load_plugin" is called.
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-09-26 06:09:08 -04:00