Fabio Manganiello
e1aa214bad
tidal-integration ( #223 )
...
Reviewed-on: platypush/platypush#223
2022-09-16 21:48:09 +02:00
Fabio Manganiello
41acf4b253
Generate event ID as true random strings, not MD5 hashes of UUIDs
2022-09-05 03:08:39 +02:00
Fabio Manganiello
c77746e278
If the output of a hook is null, make sure to normalize it an empty string before pushing it to Redis
2022-09-04 16:16:02 +02:00
Fabio Manganiello
c5b12403d0
Implemented support for returning richer HTTP responses on webhooks.
...
A `WebhookEvent` hook can now return a tuple in the format `(data,
http_code, headers)` in order to customize the HTTP status code and the
headers of a response.
2022-09-01 01:37:18 +02:00
Fabio Manganiello
a675fe6a92
Updated CHANGELOG
2022-08-31 00:49:08 +02:00
Fabio Manganiello
c3fa3315f5
Implemented synchronization with webhook responses.
...
When a client triggers a `WebhookEvent` by calling a configured webhook
over `/hook/<hook_name>`, the server will now wait for the configured
`@hook` function to complete and it will return the returned response
back to the client.
This makes webhooks much more powerful, as they can be used to proxy
HTTP calls or other services, and in general return something to the
client instead of just executing actions.
2022-08-30 23:35:19 +02:00
Fabio Manganiello
c417d2f692
Implemented last Matrix integration features.
...
- Added presence, typing and seen receipt events.
- Added set display_name and avatar methods.
2022-08-28 15:17:11 +02:00
Fabio Manganiello
48ec6ef68b
Implemented proper support for encrypted media and added download method
2022-08-26 23:48:29 +02:00
Fabio Manganiello
e4eb4cd7dc
More granular control over trusted devices, and added global synchronization event
2022-08-25 00:34:01 +02:00
Fabio Manganiello
550f026e13
Cleaner logging for assertion errors in plugin actions
2022-08-25 00:30:53 +02:00
Fabio Manganiello
dc7ba881f1
Merge branch 'master' into matrix-integration
2022-08-12 14:39:13 +02:00
Fabio Manganiello
4e1e6da67e
Added recv action on websocket plugin
2022-08-12 14:16:01 +02:00
Fabio Manganiello
cbe2e7bbfe
[WIP]
2022-08-04 03:08:54 +02:00
Fabio Manganiello
c17d0080b5
Merge branch 'master' into matrix-integration
2022-08-04 02:14:22 +02:00
Fabio Manganiello
7c87238fec
match_condition should return immediately (no score-based fuzzy search) if an event condition is an exact match
2022-08-04 01:04:00 +02:00
Fabio Manganiello
55671f4aff
If a request on a RunnablePlugin throws an exception then we should also restart the plugin upon reload
...
Plus some Black/LINT chores
2022-07-25 00:41:08 +02:00
Fabio Manganiello
719bd4fddf
[ #217 WIP] Initial plugin implementation.
...
- Added initial synchronization and users cache.
- Added loop to poll for new events (TODO: use websocket after the first sync)
- Added login, sync and join actions
2022-07-14 01:50:46 +02:00
Fabio Manganiello
f080478385
s/click_url/url/g in ntfy message definitions
2022-06-02 00:40:26 +02:00
Fabio Manganiello
8be515c17b
[ closes #219 ] Added ntfy integration
2022-06-01 23:01:29 +02:00
Fabio Manganiello
ffd23cf04d
[ #212 ] Support for asynchronous event monitoring on the GPIO plugin
2022-03-27 16:14:30 +02:00
Fabio Manganiello
fdf6d8fb4e
Better auto-generated documentation and fixed docstring warnings
2022-03-03 20:26:25 +01:00
Fabio Manganiello
29a7eff15a
Fixed/suppressed LGTM warnings
2022-02-08 21:51:37 +01:00
Fabio Manganiello
1038090ffd
LINT fixes
2022-02-07 15:51:12 +01:00
Fabio Manganiello
786286eac6
Refactored D-Bus integration
...
- Added ability to listen for signals
- Improved introspection output
- `dbus` plugin and backend have now been merged
- Migrated from `dbus` to `pydbus`
2022-02-07 15:45:43 +01:00
Fabio Manganiello
e9f6d9a8bc
Refactored RSS integration into its own rss
plugin [ closes #199 ]
2022-01-06 00:46:05 +01:00
Fabio Manganiello
ea3b49a17f
Use inherited-members: true in autodoc_default_options to ensure documentation of inherited actions
2021-11-15 01:05:53 +01:00
Fabio Manganiello
d7b273434b
[ #203 ] Added IRC integration
2021-11-14 19:43:19 +01:00
Fabio Manganiello
4a5bb766af
Fixed some media plugins inconsistencies
...
- Removed replication of logic between media.get_youtube_url (action) and media.get_youtube_video_url (internal method)
- Added differentiation between MediaPlayEvent and MediaResumeEvent
2021-10-17 16:03:57 +02:00
Fabio Manganiello
04a5480d19
Resolve "[Feature Request] Gotify Push Intergration"
2021-10-01 23:50:53 +02:00
Fabio Manganiello
e3f0219554
Errors should be caught also before a request action is executed (prevents HTTP timeouts when the error is on e.g. get_plugin() level)
2021-10-01 23:40:43 +02:00
Fabio Manganiello
fa17011b24
Fixed hierarchy for ngrok events
2021-10-01 23:39:07 +02:00
Fabio Manganiello
68831e9e81
[ #196 ] Added ngrok integration
2021-09-25 01:34:45 +02:00
Fabio Manganiello
f147c44a8a
Fixed docs issues
2021-09-22 00:19:14 +02:00
Fabio Manganiello
1a314ffd6b
Fixed LGTM errors and warnings
2021-09-17 22:21:29 +02:00
Fabio Manganiello
7b8938cb12
Fixed LGTM errors and warnings
2021-09-17 00:47:33 +02:00
Fabio Manganiello
3bfc5b83ef
Moved to manifest files for describing plugins and backends and their dependencies
2021-09-16 17:53:40 +02:00
Fabio Manganiello
90ec108580
Added Slack integration
2021-07-28 01:09:09 +02:00
Fabio Manganiello
371dd6da0a
Added sun
plugin [ closes #194 ]
2021-07-22 01:02:15 +02:00
Fabio Manganiello
fc1d9ad3e6
Added joystick.linux backend
2021-05-17 14:52:08 +02:00
Fabio Manganiello
f296f4b161
Added generic joystick.jstest
backend
2021-05-15 23:28:24 +02:00
Fabio Manganiello
c006c4b368
Added zwave.mqtt plugin and backend [ closes #186 ]
2021-04-12 02:45:59 +02:00
Fabio Manganiello
2a78f81a7b
Major LINT fixes
2021-04-05 00:58:44 +02:00
Fabio Manganiello
8db8f3e6c4
Unparseable context variables should be logged on debug, not warning, level.
2021-04-03 16:12:51 +02:00
Fabio Manganiello
f8564c19cd
Added log.http backend to monitor HTTP logs [ closes #167 ]
2021-03-16 00:03:32 +01:00
Fabio Manganiello
352d421e61
Added file.monitor backend [ closes #172 ]
...
The file.monitor backend leverages watchdog instead of the Linux-only
inotify API and it replaces the inotify backend.
2021-03-14 00:08:20 +01:00
Fabio Manganiello
347a4d2555
disable_logging=True for ZwaveNodeGroupEvent
2021-03-12 20:29:26 +01:00
Fabio Manganiello
02f6845e72
- Added weather.openweathermap plugin and backend, as a replacement for Darksky [ closes #177 ]
...
- Added note to the Darksky plugin about the decomissioning of the API by the end of the year
2021-03-12 01:31:26 +01:00
Fabio Manganiello
3d6af00ee6
Disable logging of ZwaveValueEvent objects, as they tend to be very verbose
2021-03-11 17:53:39 +01:00
Fabio Manganiello
04ff008800
Context shouldn't be dumped as json in case of exceptions - if some objects are not JSON serializable then we end up with an uncaught exception
2021-03-05 18:52:57 +01:00
Fabio Manganiello
36fdcf6963
- The context should be properly expanded also when calling a Python procedure
...
- Refactored the logic for executing a request and wrapping the response common to procedures, crons and event hook decorators into platypush.common.exec_wrapper
- Added mock getvalue() method to Logger to prevent PyCharm failures in the tests when sys.stdout is redirected to the Logger object
2021-02-27 20:27:36 +01:00