Commit Graph

1984 Commits

Author SHA1 Message Date
Fabio Manganiello e242dc53bf FIX: All timestamps should be isoformat strings, otherwise come comparisons may break 2022-01-05 13:39:13 +01:00
Fabio Manganiello ee0b6d237a FIX: Timestamps on calendar parsed objects should be of type string, not datetime 2022-01-05 13:35:10 +01:00
Fabio Manganiello 9ba2c18595 Better logic for timezone handling/conversion in calendar plugin 2022-01-05 13:31:07 +01:00
Fabio Manganiello 0a3fd4065a
Proper implementation for filesystem monitor filters
The logic Watchdog applies to filter events based
on `ignore_directories`, `ignore_patterns` and
`ignore_regexes` isn't really sophisticated, and
it doesn't check whether a partial directory/file
name is used in one of the `ignore_*` patterns.
The `file.monitor` backend should therefore implement
this logic on its side.
2021-12-20 00:58:41 +01:00
Fabio Manganiello e94d338de5
Proper handling for ignore_directories in file.monitor backend 2021-12-19 02:28:49 +01:00
Fabio Manganiello 081da3eb84
Bump version: 0.22.7 → 0.22.8 2021-12-13 21:21:42 +01:00
Fabio Manganiello 1569f940c6
FIX: had accidentally removed an `on_mqtt_message` usage 2021-12-13 21:21:12 +01:00
Fabio Manganiello 6df9cbcf3c
Bump version: 0.22.6 → 0.22.7 2021-12-13 20:47:50 +01:00
Fabio Manganiello fa0f4925ed
New client ID generation logic (closes #205)
MQTT client IDs are now generated as a function of
`(client_id, host, port, topics, on_message)` to
prevent client ID clashes.
2021-12-13 20:34:06 +01:00
Fabio Manganiello fa708663e1
Replaced command-line uwsgi wrapper in the backend.http docs with gunicorn
gunicorn makes it easier to set up a uWSGI wrapper
around the web application, and it's easier to
install and document than handling uwsgi as an
external system dependency.
2021-12-11 22:44:00 +01:00
Fabio Manganiello 20fc3d91fc
Updated Chromecast plugin to work with pychromecast >= 10.0
pychromecast 10.0 introduced some [breaking changes](https://github.com/home-assistant-libs/pychromecast/pull/556/files)
in the declaration of the Chromecast object -
namely, the `device` attribute has been renamed to
`cast_info`. The code of ChromecastPlugin has been
updated to guarantee compatibility in both cases.
2021-12-11 22:14:47 +01:00
Fabio Manganiello 2560bfa03f
Plex searcher extended to include also audio tracks 2021-12-04 00:08:47 +01:00
Fabio Manganiello 46d8d575ba
Handle and log media workers search errors 2021-12-03 21:54:41 +01:00
Fabio Manganiello f478e1ff40
Added libcap-dev to build requirements for Ubuntu Docker images 2021-11-28 22:40:04 +01:00
Fabio Manganiello 6023fd3db3 Given the new object-oriented design of the LTR559 library, the sensor object should be initialized in __init__ and read upon get_measurement() 2021-11-28 15:11:20 +01:00
Fabio Manganiello f6057274a0 Variable name fix 2021-11-28 11:32:03 +01:00
Fabio Manganiello 2d9dff7d4c Fixed LTR559 integration after a change in the core library interface 2021-11-28 11:25:41 +01:00
Fabio Manganiello f74ca28382
Bump version: 0.22.5 → 0.22.6 2021-11-27 10:56:28 +01:00
Fabio Manganiello e615891bf3
Fixed missed assignment 2021-11-27 02:00:43 +01:00
Fabio Manganiello 02b5ec1d38
Fixed regex typo 2021-11-27 01:43:57 +01:00
Fabio Manganiello 2914a74b75
Replace relative links in converted markdown 2021-11-27 01:19:55 +01:00
Fabio Manganiello 1e1bf46f32
Fixed handling of URLs on Pushbullet notes 2021-11-26 19:07:44 +01:00
Fabio Manganiello 848b736d6e
Support for output format type on http.webpage.simplify even when outfile is not specified 2021-11-26 19:07:15 +01:00
Fabio Manganiello f9f9c38a8b
Improved robustness of ICal event parser 2021-11-21 23:50:35 +01:00
Fabio Manganiello 518d9f20c6
Added docs for config plugin 2021-11-17 23:59:17 +01:00
Fabio Manganiello 40903393df
Removed pydoc of internal plugin methods that were propagated to the docs of all the derived plugins 2021-11-15 01:57:44 +01:00
Fabio Manganiello d5cddc23fa
Fixed autodoc indentation 2021-11-15 01:21:31 +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 adb9672989
Bump version: 0.22.4 → 0.22.5 2021-11-15 00:12:42 +01:00
Fabio Manganiello b432488876
Prevent null pointer on music.spotify backend stop if the Librespot process has already been terminated 2021-11-15 00:10:40 +01:00
Fabio Manganiello 6ba3128ac4
[#201] Added Mailgun integration 2021-11-14 22:40:59 +01:00
Fabio Manganiello d7b273434b
[#203] Added IRC integration 2021-11-14 19:43:19 +01:00
dependabot[bot] 5491682543
Bump axios from 0.21.1 to 0.21.2 in /platypush/backend/http/webapp
Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.1...v0.21.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-07 10:46:07 +00:00
Fabio Manganiello 195ae5c488
Create application ngrok tunnel method moved to utils 2021-11-07 11:35:47 +01:00
Fabio Manganiello de25719563
Replaced deprecated arguments in librespot 2021-11-07 01:19:34 +01:00
Fabio Manganiello acdc636b1f Resolve "Mastodon integration" 2021-11-07 01:00:29 +01:00
Fabio Manganiello 6db070db1c
- Fixed `switchbot.status` to handle virtual devices
- Fixed StrippedString schema field serialize handler

- Fixed rendering of lists in documentation schemas
2021-10-26 00:48:05 +02:00
Fabio Manganiello 952a2a9379
- Render nested attributes in schemas
- Provide relevant examples for schema fields with no description/examples based on the field type

- Fixed RST warnings in Slack plugin

- Fixed list of events in ngrok plugin
2021-10-24 11:53:38 +02:00
Fabio Manganiello 49676fcc7f
Don't fail hard if the Zeroconf service can't be registered 2021-10-24 02:54:20 +02:00
Fabio Manganiello 6c0a8bf259
Bump version: 0.22.3 → 0.22.4 2021-10-19 23:30:25 +02:00
Fabio Manganiello 1906876969
FIX: Replaced VLC event.u occurrences
Newer versions of python-vlc have apparently
removed the `event.u` union object from the
events dispatched by the player, resulting in
player callback failures.

The occurrences of `event.u` have therefore
been replaced with the player methods to
correctly retrieve the current state.
2021-10-17 17:56:57 +02:00
Fabio Manganiello f9ce03919b
FIX: Various omxplayer fixes
- Better synchronization with the player upon `play` request - wait until the play started event is received before returning the status

- DBus exceptions should be caught and handled in the status call
2021-10-17 16:54:57 +02:00
Fabio Manganiello c3681e7b2a
FIX: Don't try and set the volume of the omxplayer when the instance may not be ready yet 2021-10-17 16:38:38 +02:00
Fabio Manganiello 144700b693
media.mpv should send MediaPlayRequestEvent with player and plugin parameters 2021-10-17 16:17:20 +02: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 8c339d0d55
Added support for custom YouTube preferred video/audio formats 2021-10-17 02:53:38 +02:00
Fabio Manganiello 1962a8c4de
FIX: The response to a request received on the MQTT channel should be dispatched to <base_topic>/responses/<id>, not to <base_topic> 2021-10-17 01:57:47 +02:00
Fabio Manganiello 64c402b1c0 [#115] Added `google.maps.get_travel_time` method 2021-10-16 22:35:37 +02:00
Fabio Manganiello 31ef9515f8 Added support for virtual IR devices in Switchbot plugin 2021-10-02 23:44:13 +02:00
Fabio Manganiello d844890ab2 Bump version: 0.22.2 → 0.22.3 2021-10-01 23:53:05 +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 c12c83b386 Bump version: 0.22.1 → 0.22.2 2021-09-25 12:54:01 +02:00
Fabio Manganiello 68831e9e81 [#196] Added ngrok integration 2021-09-25 01:34:45 +02:00
Fabio Manganiello d18245b15f Fixed Slack plugin docs 2021-09-22 00:38:34 +02:00
Fabio Manganiello cb0638fe19 Bump version: 0.22.0 → 0.22.1 2021-09-22 00:29:03 +02:00
Fabio Manganiello 98cb216ba7 Fixed LGTM warning 2021-09-22 00:22:42 +02:00
Fabio Manganiello f147c44a8a Fixed docs issues 2021-09-22 00:19:14 +02:00
Fabio Manganiello a1cd25fe5a zigbee.mqtt backend configuration should be fetched from the zigbee.mqtt plugin configuration if not reported 2021-09-17 22:35:01 +02:00
Fabio Manganiello 1a314ffd6b Fixed LGTM errors and warnings 2021-09-17 22:21:29 +02:00
Fabio Manganiello 85af031c26 Empty torrent responses can sometimes include the objects as an empty list instead of an empty dict 2021-09-17 10:47:01 +02:00
Fabio Manganiello 7b8938cb12 Fixed LGTM errors and warnings 2021-09-17 00:47:33 +02:00
Fabio Manganiello a2f5755496 Bump version: 0.21.4 → 0.22.0 2021-09-16 23:28:39 +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 ac0dd95bcc Bump version: 0.21.3 → 0.21.4 2021-08-24 23:01:45 +02:00
Fabio Manganiello 87b70716c1 Logic for supporting JWT tokens both as bytes and strings [closes #197] 2021-08-24 22:55:42 +02:00
Fabio Manganiello a8064d2add parse_magnet_uri can return either a metadata object or a dict depending on the libtorrent version 2021-08-05 20:23:54 +02:00
Fabio Manganiello d086da64f6 Bump version: 0.21.2 → 0.21.3 2021-07-28 01:09:27 +02:00
Fabio Manganiello 90ec108580 Added Slack integration 2021-07-28 01:09:09 +02:00
Fabio Manganiello 286bab7489 typo 2021-07-27 00:11:57 +02:00
Fabio Manganiello 0f37102ce4 Close Redis connection upon backend stop 2021-07-26 01:06:35 +02:00
Fabio Manganiello 8e2d4d0bce Make sure that the accept() in backend.tcp does not block the process 2021-07-25 11:33:48 +02:00
Fabio Manganiello 550fd3abe9 Don't fail on the Pushbullet close handler 2021-07-25 01:17:25 +02:00
Fabio Manganiello 2fc7327788 Missing import 2021-07-24 23:49:23 +02:00
Fabio Manganiello 371dd6da0a Added `sun` plugin [closes #194] 2021-07-22 01:02:15 +02:00
Fabio Manganiello 47228f2432 Bump version: 0.21.1 → 0.21.2 2021-07-20 01:36:59 +02:00
Fabio Manganiello 1483d602f8 Added music.spotify UI integration 2021-07-20 01:35:21 +02:00
Fabio Manganiello 00e744e93e Added type field metadata 2021-07-17 22:28:48 +02:00
Fabio Manganiello 35c4a30a63 Added music.spotify plugin and refactored MusicPlugin 2021-07-17 22:14:15 +02:00
Fabio Manganiello db8ea33b68 Removed deprecated `setup.py web_build` command from platydock [see #195] 2021-07-05 20:07:55 +02:00
Fabio Manganiello 03631bcebc Fixed import error in Adafruit.IO 2021-07-04 23:49:18 +02:00
Fabio Manganiello ade3a7c2cf Added plugin_name to weather.buienradar events 2021-07-04 18:04:51 +02:00
Fabio Manganiello 1f6c7aae60 get_redis() should be a general utility method 2021-06-26 11:14:26 +02:00
Fabio Manganiello a6c7d64511 Removed audio_format option from Spotify Connect backend (not supported by all versions of Librespot) 2021-06-25 23:20:21 +02:00
Fabio Manganiello af7977bcf7 Added music.spotify.connect backend 2021-06-25 22:47:40 +02:00
Fabio Manganiello 0762004838 Bump version: 0.21.0 → 0.21.1 2021-06-22 23:40:53 +02:00
Fabio Manganiello c8bfbae4f0 Prevented an infinite recursion error on the Pushbullet on_error() handler in case close() failed 2021-05-20 02:06:43 +02:00
Fabio Manganiello d35a9729a4 More robust reconnection logic for Pushbullet backend 2021-05-19 18:44:01 +02:00
Fabio Manganiello a39452124d Refactored PCA9685 backend 2021-05-17 15:32:43 +02:00
Fabio Manganiello fc1d9ad3e6 Added joystick.linux backend 2021-05-17 14:52:08 +02:00
Fabio Manganiello 7ee869ce42 More robust logic for smooth transients on PCA9685 2021-05-16 18:14:02 +02:00
Fabio Manganiello df36a9f811 s/execute/write/ 2021-05-16 17:53:22 +02:00
Fabio Manganiello abf793e703 Added get_channels() method to PCA9685 driver 2021-05-16 17:51:51 +02:00
Fabio Manganiello 132c659d3c Reset self._pca to None on deinit() 2021-05-16 17:42:05 +02:00
Fabio Manganiello acc4f1c0e3 Added PCA9685 PWM driver plugin 2021-05-16 17:29:03 +02:00
Fabio Manganiello d7d5bcdd0c Wait until the joystick device is readable after it appears to prevent race conditions where jstest fails with temporary "permission denied" errors 2021-05-16 00:26:28 +02:00
Fabio Manganiello def8c0dd76 The joystick backend should properly jstest even when the jstest executable fails 2021-05-16 00:16:19 +02:00
Fabio Manganiello 6cc28a3c3b More robust logic in case of joystick device lost while the backend is running 2021-05-16 00:06:20 +02:00
Fabio Manganiello 93c3327bcd Map name typo fix 2021-05-15 23:53:24 +02:00