Commit graph

4128 commits

Author SHA1 Message Date
1c14450781 FIX: Remove wait_for_either barrier from the streaming thread.
All checks were successful
continuous-integration/drone/push Build is passing
The `_accept_client` logic will be executed anyway at the next
iteration, unless the server socket is closed - in that case, the thread
will fail and exit anyway.

The `wait_for_either` barrier in the streaming thread may instead
prevent other connections from being established after the first one is
closed.
2024-02-25 16:02:52 +01:00
4c92bdd11c
FIX: Handle stop_streaming exceptions in the main loop of the camera plugin.
All checks were successful
continuous-integration/drone/push Build is passing
Otherwise camera process teardown errors may bubble up and prevent the
plugin from restarting the streaming.
2024-02-24 21:36:08 +01:00
8999a226b1
[WIP] Updated documentation for camera.pi.
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-24 21:16:43 +01:00
e46704010b
[WIP] Rewritten camera.pi.legacy plugin.
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-24 14:07:07 +01:00
9ad9bd20e4
Added stream_on_start argument to camera plugins.
All checks were successful
continuous-integration/drone/push Build is passing
It replaces the functionalities of the deprecated `camera` backends.
2024-02-24 01:31:05 +01:00
9cf95125a6 [WIP] Added streaming support to camera.pi using new picamera2 API
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-22 22:52:52 +01:00
659c33837e [WIP] Using new picamera2 module for camera.pi, and moved old picamera integration to camera.pi.legacy
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-19 00:07:29 +00:00
d0f1ee0582
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-16 23:03:08 +00:00
c59446fdb1
Fixed setting of output_file on FfmpegWriter.
All checks were successful
continuous-integration/drone/push Build is passing
Also, fixed parameters passed to camera
writer objects.
2024-02-17 00:01:47 +01:00
a38ef6bc7a Workaround for possible multiple camera parameter error.
Some checks reported errors
continuous-integration/drone/push Build was killed
2024-02-15 00:51:04 +00:00
191d7a75ea
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-06 22:29:48 +00:00
8f7aad2af7
google-assistant-sdk is no longer a dependency for the Google Assistant integration
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-06 20:08:57 +01:00
48756e6287
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-05 01:19:21 +00:00
2b595623b3
[#348] Converted gps backend into a plugin.
All checks were successful
continuous-integration/drone/push Build is passing
Closes: #348
2024-02-05 02:16:02 +01:00
8351463a11
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-03 21:11:01 +00:00
c8944feca4 [#348] Merge + refactor for the mail backend/plugin (#362)
All checks were successful
continuous-integration/drone/push Build is passing
Closes: #348

Reviewed-on: #362
2024-02-03 22:09:40 +01:00
5badc935ac
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-03 21:08:07 +00:00
7d362cae1a
FIX: Redis pub/sub error can also raise a ValueError on close.
All checks were successful
continuous-integration/drone/push Build is passing
2024-02-03 22:06:36 +01:00
39d5c48088
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-19 20:59:26 +00:00
746423a113 [#356] Merged adafruit.io plugin and backend. 2024-01-19 20:58:35 +00:00
f21a1dd8e6
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-19 02:15:39 +00:00
eb47f9ded0 [#351] Merged google.pubsub plugin and backend.
Closes: #351
2024-01-19 02:14:49 +00:00
2e9cb44caf
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-19 00:50:24 +00:00
1323156838
Fixed google.credentials script order of arguments in the docstring.
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-19 01:48:33 +01:00
a5b7e2b52e
[CI/CD] Fixed version format for the platypush-git Arch package.
All checks were successful
continuous-integration/drone/push Build is passing
The format should be `<MAJ>.<MIN>.<PATCH>.r<REVISION>.g<HEAD>`.

The `g` prefix was missing.
2024-01-19 01:06:47 +01:00
aceb9b940a
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-18 23:32:23 +00:00
6775208b2e Fixed minor docstring typo. 2024-01-18 23:31:27 +00:00
f9bd5b3abc [#350] Merge google.fit backend and plugin.
Closes: #350.
2024-01-18 23:31:27 +00:00
e3c04d9316 Fixed bullet points indentation in Google plugins docstrings. 2024-01-18 23:31:27 +00:00
e022712b7b [Google] Updated authorization flow for Google plugins.
The new authorization flow also requires the user to input a code
returned on the browser's authorization page.

Since the Google authentication libraries seem to use a simple `input()`
to read this code, things are likely to fail quite badly if Platypush is
run in non-interactive mode - e.g. through a systemd service or in a
Docker container.

Thus we need to go with Google's automatic flow only if `DISPLAY` or
`BROWSER` are set (thus the interactive flow can proceed), and throw an
`AssertionError` with the command to execute if no display/browser are
detected.
2024-01-18 23:31:27 +00:00
31de917631 [Google] Updated documentation of Google plugins.
Expanded explanation of the desktop vs. headless authentication process
and where the credential files are supposed to be copied if the user
opts for a non-automatic authentication flow.
2024-01-18 23:31:27 +00:00
dec2a54740
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-18 23:29:13 +00:00
998b7be7b8
[media.vlc] Always add --play-and-exit to args.
All checks were successful
continuous-integration/drone/push Build is passing
Without this option VLC seems to hang in the background, and it may
cause PulseAudio failures or memory issues after several videos have
been played - each in its own session.
2024-01-18 21:21:15 +01:00
a47f9f1852
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-18 01:29:46 +00:00
95c15f3f5f [#347] Merge kafka backend and plugin.
Closes: #347
2024-01-18 01:28:56 +00:00
a596ed80a2
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-17 23:27:34 +00:00
1c5956c38b
Fixed some docstring warnings.
Some checks reported errors
continuous-integration/drone/push Build was killed
2024-01-18 00:26:22 +01:00
85db77bb7b
[#298] Merged nextcloud backend and plugin.
Closes: #298
2024-01-18 00:26:22 +01:00
dd5bc7639b
Added disable_monitor flag to RunnablePlugin.
This is useful when users want to use a runnable plugin in a stateless
way. In some cases (for example systems with high latency or limited
quotas for API calls) the user may want to leverage the actions of a
plugin, but without running monitoring/polling logic nor generating
events.
2024-01-18 00:26:22 +01:00
fb91be7628
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-15 23:56:02 +00:00
e9d91471ce
[media.mplayer] Plugin rewrite.
All checks were successful
continuous-integration/drone/push Build is passing
Too many things were falling apart, and many others of MPlayer's "API
smells" had never been addressed.

The plugin has now largely been rewritten, and some workarounds (like
accessory monitoring processes) have been added to deal with the fact
that events like end-of-file aren't published by the player, and some
polling is required.
2024-01-16 00:41:01 +01:00
ca25b3a4e6
[Automatic] Updated components cache
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-15 23:39:51 +00:00
3598253558
Reduced Docker images to a single layer.
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-15 21:54:22 +01:00
bf1b8aaf70
Delete pubsub closure to _pubsub_close().
The Redis channel may be closed, and in that case we need to handle the
exception instead of throwing it - which causes the upstream Tornado
worker to fail too.
2024-01-14 21:27:08 +01:00
6fe1ed44ad
[media] Fixed base interface of media.seek and media.set_position. 2024-01-13 22:39:33 +01:00
cf314f2615
[mpv] Refactored plugin.
I hadn't paid attention to this plugin in a while and the newest mpv API
has diverged so much that it was entirely incompatible with recent mpv
versions.
2024-01-13 22:36:42 +01:00
641a2fd135
Renamed parameter of volup/voldown for music plugins.
To be consistent with all other media plugins, the parameter name should
be `step`, not `delta`.

A back-compatibility layer has however been introduced for plugins
(namely `music.mpd` and `music.spotify`) that already exposed the old
interface.
2024-01-13 22:35:18 +01:00
f0dcb94862
[pushbullet] Fixed on_error callback on the listener.
The `Listener` class from the `pushbullet.py` library is a mess, and it
has two internal functions to handle errors.
2024-01-13 13:24:47 +01:00
18bba7e3bf
[Automatic] Updated UI files
All checks were successful
continuous-integration/drone/push Build is passing
2024-01-09 23:47:38 +00:00
9fa5989e21 [#302] Merged pushbullet backend and plugin.
Also, added support for more granular Pushbullet events.

Closes: #302
2024-01-09 23:46:07 +00:00