Arksine
6763ea6197
file_manager: correct issue with directories that contain spaces
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-13 05:25:37 -05:00
Arksine
697be6a822
file_manager: Immedately fetch metadata for file uploads
...
Signed-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-12 17:27:52 -05:00
Arksine
3d827d7513
websockets: Add "notify_klippy_ready" notification
...
GIven that subscriptions are reset, connected clients no longer maintained and they cannot check "webhooks.state" to see if Klippy is ready. This notifcation may be used to in its place.
SIgned-off-by: Eric Callahan <arksine.code@gmail.com>
2020-11-11 17:53:58 -05:00
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