Commit graph

673 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