Commit graph

573 commits

Author SHA1 Message Date
Fabio Manganiello 26a57c9d6f Preventing inconsistent reads from the serial port by making sure that only one reader can read at the time 2018-07-20 15:54:31 +02:00
Fabio Manganiello 0b4cfec8e7 More robust HTTP backend in case Redis wasn't configured 2018-07-20 11:13:49 +02:00
Fabio Manganiello bc895dd984 If the http.request plugin gets a proper JSON message as a response, then extract the Platypush message out of the original response 2018-07-19 20:07:15 +02:00
Fabio Manganiello 72543c26a9 Added logger plugin 2018-07-19 00:03:19 +02:00
Fabio Manganiello 6508ef29a1 Don't overwrite the output variable 2018-07-18 20:23:15 +02:00
Fabio Manganiello c4d3e6b467 Graceful sleep between failed serial read attempts 2018-07-17 23:51:30 +02:00
Fabio Manganiello 5bc7319933 Optimized serial plugin 2018-07-17 23:47:13 +02:00
Fabio Manganiello 791ac269b6 Updated wiki 2018-07-17 02:35:46 +02:00
Fabio Manganiello 95d86829aa Plugin action decorators can now be inherited from parent classes 2018-07-17 01:23:12 +02:00
Fabio Manganiello 35c5e2d8f7 Serial plugin now extends the general sensor plugin class 2018-07-17 00:59:02 +02:00
Fabio Manganiello 86754534ae Fixed omxplayer plugin doc 2018-07-16 23:17:00 +02:00
Fabio Manganiello 72d490456f Fixed docstring 2018-07-16 22:58:56 +02:00
Fabio Manganiello 2888cb3a4b Propagate the docstring of the wrapped function when using an @action annotation 2018-07-16 22:56:07 +02:00
Fabio Manganiello 0e85bf8fcd Fixed external links on the index 2018-07-16 22:55:24 +02:00
Fabio Manganiello b9c77b15f8 Fixed docstring 2018-07-16 22:12:02 +02:00
Fabio Manganiello cba40744fb No need to commit without opening a transaction first 2018-07-15 20:33:09 +02:00
Fabio Manganiello 2fda066e39 - Support for Platypush main configuration db, where plugins and backends can store their data
- Support for permanent cross-process storage of session variables through SQLite db
- Support for db.select with table+filter instead of raw SQL query
2018-07-15 20:12:23 +02:00
Fabio Manganiello 7114d8bcaa Implemented update and delete method for the db plugin and ON DUPLICATE UPDATE logic for insert 2018-07-15 19:31:11 +02:00
Fabio Manganiello 42fa8360f3 Only propagate the values above/below threshold in case of a sensor threshold crossing, excluding the sensors that haven't crossed the threshold 2018-07-15 17:28:17 +02:00
Fabio Manganiello b3e3621c5a Removed unneeded imports 2018-07-15 17:28:17 +02:00
Fabio Manganiello 67ebe10c60 typo 2018-07-15 02:57:12 +02:00
Fabio Manganiello a2898f63c3 - Unwrap the response in the decorator if we got a Response object from the decorated plugin
- No need for @action wrappers around omxplayer event handlers
2018-07-15 02:03:24 +02:00
Fabio Manganiello 0ae233d092 Added header to the docs index 2018-07-09 22:56:05 +02:00
Fabio Manganiello b94ec36d0f Added documentation to events 2018-07-09 22:38:08 +02:00
Fabio Manganiello 0288f7ee1b Propagate the token in procedures and event hooks to make sure that the inner requests can be executed 2018-07-09 14:51:20 +00:00
Fabio Manganiello ab41b9d5f4 Refactored README 2018-07-09 01:18:43 +02:00
Fabio Manganiello 316fb34ec2 README new introduction; Changed wiki URL to https:// instead of git@ to prevent RTD build from failing when cloning submodule 2018-07-09 00:01:28 +02:00
Fabio Manganiello b8afa7a5d1 Exclude git submodules in Travis configuration 2018-07-08 22:38:09 +02:00
Fabio Manganiello 5ce3203ae3 Added wiki submodule 2018-07-08 22:32:06 +02:00
Fabio Manganiello c81534875a Get Redis object on each interaction in case the backend wasn't ready before 2018-07-08 22:12:30 +02:00
Fabio Manganiello e1ead3c25f s/_token/token/ 2018-07-08 22:00:28 +02:00
Fabio Manganiello 2647bd3881 Implemented token verification over HTTP calls.
The token can be provided either:

* GET parameter (``?token=abc``)
* JSON payload request (``{..your_request.., "_token":"abc"})
* HTTP header (``X-Token: abc``)
* Basic HTTP auth (any username works, password: token)
2018-07-08 21:36:58 +02:00
Fabio Manganiello 4ebdda80f9 More robust support for Redis configuration in web socket server 2018-07-08 12:24:33 +02:00
Fabio Manganiello b3d82bf43e Added Redis backend configuration to the test 2018-07-08 12:20:39 +02:00
Fabio Manganiello b443df7947 Parametrized the HTTP backend Redis object by using the same configuration used on the Redis backend 2018-07-08 12:13:43 +02:00
Fabio Manganiello 88d9f9d3ac Stability fixes 2018-07-06 03:38:14 +02:00
Fabio Manganiello 85cdd8e5af Removed old Response reference 2018-07-06 03:35:47 +02:00
Fabio Manganiello 6cf0f39a03 Added call to parent constructor in db plugin 2018-07-06 03:03:09 +02:00
Fabio Manganiello cfda6e019c Don't wrap events in a Response object twice 2018-07-06 02:55:36 +02:00
Fabio Manganiello b8665b7fbb Added another @action decorator 2018-07-06 02:41:43 +02:00
Fabio Manganiello c0b1b70e4e Added call to parent constructor in the remaining plugins 2018-07-06 02:37:47 +02:00
Fabio Manganiello eb229a6fbe Added call to parent constructor in media.ctrl 2018-07-06 02:37:47 +02:00
Fabio Manganiello d0e7b96ed4 Fixed missed self on some of the new constructors 2018-07-06 02:34:12 +02:00
Fabio Manganiello a4c7b06e4c Forgot an @action annotation 2018-07-06 02:27:44 +02:00
Fabio Manganiello b5fb6ecf93 Added call to parent constructor in lastfm plugin 2018-07-06 02:21:38 +02:00
Fabio Manganiello 66d78c8615 [#61] Plugins actions refactoring
- Using `@action` annotation to indicate methods that are allowed to be
executed as actions

- The output and errors of an action are automatically wrapped into a
`Response` object without any response build required on the plugin side
2018-07-06 02:08:38 +02:00
Fabio Manganiello 81a81312e3 Basic support for token authentication on request level 2018-07-05 09:15:53 +02:00
Fabio Manganiello 7ad0724f0e while True loop for recording 2018-07-01 19:35:23 +02:00
Fabio Manganiello 6ba71b52e7 Improved camera.pi logic 2018-06-29 11:25:18 +02:00
Fabio Manganiello 57baa0c64a Try to decode the message event if it's not a Platypush message 2018-06-29 11:09:28 +02:00