Fabio Manganiello
13c1895295
Support for runtime arguments on procedures
2018-09-25 19:20:34 +02:00
Fabio Manganiello
6449504e26
Switched the bus to a Redis bus
2018-09-20 10:49:57 +00:00
Fabio Manganiello
822e0a1e25
Better fix for broken async variables and attributes after Python 3.7 migration
2018-08-07 22:00:11 +00:00
Fabio Manganiello
ee5e4dff92
Revert "In Python 3.7 async is a strict language keyword that can't be used for variables names - replaces occurrences with _async"
...
This reverts commit f0577733b6
.
2018-08-07 21:52:07 +00:00
Fabio Manganiello
b023618950
Revert "In Python 3.7 async is a strict language keyword that can't be used for variables names - replaces occurrences with _async"
...
This reverts commit e625861edf
.
2018-08-07 21:52:02 +00:00
Fabio Manganiello
f0577733b6
In Python 3.7 async is a strict language keyword that can't be used for variables names - replaces occurrences with _async
2018-08-07 21:28:06 +00:00
Fabio Manganiello
e625861edf
In Python 3.7 async is a strict language keyword that can't be used for variables names - replaces occurrences with _async
2018-08-07 21:26:57 +00: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
061b676fbc
If the string assignment didn't work either, give up without failing (also in Request)
2018-06-14 19:12:16 +02:00
Fabio Manganiello
f67b737a54
Best effort in context expansion
2018-06-07 09:33:26 +02:00
Fabio Manganiello
4da74b1096
Refactored logging submodule
2018-06-06 20:09:23 +02:00
Fabio Manganiello
c867a21104
If the value is a platypush Message, then converting it into a string would result in a JSON dumps that might break the interpreter (e.g. 'null' is a valid JSON keyword but it's not recognized by Python). Therefore first parse the variable from JSON
2018-06-06 18:50:09 +02:00
Fabio Manganiello
850a4f2146
A less convoluted and robust way to expand the context as variables
2018-06-06 17:14:44 +02:00
Fabio Manganiello
9923742e74
Prevent plugins from breaking in case of concatenations with None elements
2018-05-14 19:06:11 +02:00
Fabio Manganiello
6ef97e9ddc
Assign the recursive output of _thread_func to response to make sure that the latest response is always returned - that means the successful response in case the previous one was a failure
2018-04-22 21:26:53 +02:00
Fabio Manganiello
834b700d5f
Added GMail actions support, solves #49
2018-01-17 03:16:59 +01:00
Fabio Manganiello
14b511034f
Support for cron actions, solves #47
2018-01-15 22:37:01 +01:00
Fabio Manganiello
959296b15a
Support for context variables and constants
2018-01-10 18:47:25 +01:00
Fabio Manganiello
d4ef2bf59e
Implemented for loops support in procedures, #44
2018-01-08 02:41:24 +01:00
Fabio Manganiello
252f503e4d
Better management of the context and support for proper expression expansion from the context in the action execution through eval
2018-01-07 23:31:19 +01:00
Fabio Manganiello
dfee3f5004
Recursively expand the context of a request over the nested arguments
2018-01-06 12:40:22 +01:00
Fabio Manganiello
f83aedf0f1
Support for synchronous and asynchronous procedures
2018-01-06 00:21:25 +01:00
Fabio Manganiello
b98fe01352
Implemented sequential execution of tasks in procedures, response context parsing and procedure response returned on the bus as well, #37
2018-01-05 23:20:39 +01:00
Fabio Manganiello
a476de81a8
Fixed procedure execution code
2018-01-04 16:11:54 +01:00
Fabio Manganiello
20b07fb02f
Made an HTTP backend, #27
2018-01-04 02:45:23 +01:00
Fabio Manganiello
5a92c0ac3b
- Proper support for event arguments
...
- Better algorithm for event matching
- Added send_event support to pusher
2018-01-02 00:35:55 +01:00
Fabio Manganiello
92b691041e
Added more general media control plugin, #10
2017-12-27 10:19:35 +01:00
Fabio Manganiello
617c0f8a07
Added code for handling procedures - solves #1
2017-12-25 17:23:12 +01:00
Fabio Manganiello
7b97a5b229
- #30 Implemented Google Assistant backend
...
- #21 Implemented events management
2017-12-24 01:10:48 +01:00
Fabio Manganiello
f04d0bd24f
Don't send responses in case of errors within the retry mechanism
2017-12-22 18:09:11 +01:00
Fabio Manganiello
ac3dad5fd9
Changed design for run_request - it should be a method of Request, not a member of Daemon
2017-12-22 18:04:18 +01:00
Fabio Manganiello
bd5c80175f
- Major refactoring.
...
- More consistent naming for many methods, plus added a more extensive doc.
- Refactored the entry points for the daemon and the pusher into two
classes, easier to encapsulate and wrap into tests.
- Removed the local backend - managing the concurrency of two processes
reading and writing on the same socket at the same time was too much,
and its utility outside of the tests (which can have mock backends as
well) is quite modest.
- Managing stop events on the bus. Still some work to do tho.
- Fixed several bugs.
2017-12-20 20:25:08 +01:00
Fabio Manganiello
21381e7c0f
[ #23 ] Request/Response ID chaining fixes
...
[#17 ] Response wait and response timeout implementation on pusher side
2017-12-18 22:40:56 +01:00
Fabio Manganiello
18a5902ac4
Locking requests and responses with ids
2017-12-18 03:09:38 +01:00
Fabio Manganiello
4a04e51da7
Major refactoring #2
2017-12-18 01:10:51 +01:00
Fabio Manganiello
1a6d726b19
Passing arguments to the plugin
2017-12-17 16:41:52 +01:00
Fabio Manganiello
339e7b73a5
Major refactoring.
...
Solves, among the others, #2 , #18 and #22
2017-12-17 16:15:44 +01:00