Commit graph

4457 commits

Author SHA1 Message Date
eb47f9ded0 [#351] Merged google.pubsub plugin and backend.
Closes: #351
2024-01-19 02:14:49 +00:00
2e9cb44caf
[Automatic] Updated components cache 2024-01-19 00:50:24 +00:00
1323156838
Fixed google.credentials script order of arguments in the docstring. 2024-01-19 01:48:33 +01:00
a5b7e2b52e
[CI/CD] Fixed version format for the platypush-git Arch package.
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 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 2024-01-18 23:29:13 +00:00
998b7be7b8
[media.vlc] Always add --play-and-exit to args.
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 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 2024-01-17 23:27:34 +00:00
1c5956c38b
Fixed some docstring warnings. 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 2024-01-15 23:56:02 +00:00
e9d91471ce
[media.mplayer] Plugin rewrite.
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 2024-01-15 23:39:51 +00:00
3598253558
Reduced Docker images to a single layer. 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 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
4e1943d197
[Automatic] Updated components cache 2024-01-08 22:04:48 +00:00
4505c46071
[Sound] Don't override device index if it's already defined in the info. 2024-01-08 23:03:08 +01:00
b097a4c1f4
Remove also the dist directory in the build-ui step before running npm run build 2024-01-08 22:56:05 +01:00
bb2f86f1a5
An empty commit to re-trigger the CI/CD pipelines 2024-01-08 22:38:31 +01:00
314e1a98ef
Updated dist files 2024-01-08 22:35:57 +01:00
deaedf2462
[Media UI] Don't display the torrent menu entry if no torrent plugin is enabled. 2024-01-08 22:25:10 +01:00
5ef7313bdc
[Music UI] Use the Playlist component also for playlist editors. 2024-01-08 22:17:04 +01:00
e881fedc59
[Automatic] Updated UI files 2024-01-08 01:46:55 +00:00
3282588c6e
[Music UI] Many improvements to the interface. 2024-01-08 02:44:53 +01:00
80c2f0d8dd
[UI] Full restyle of Slider component.
The component has been rewritten using only CSS 3 and no JS.
2024-01-08 02:44:52 +01:00
b785609eda
[Music UI] New music nav logic.
Don't display the vertical nav on mobile by default - same logic as the
generic media nav.
2024-01-08 02:44:52 +01:00
f59a276e09
[Media UI] Set overflow: auto on the innermost grid div only.
If a parent object of the `grid` DOM element has `overflow: auto` as
well, then it will intercept the `@scroll` events, so `Results` won't be
able to render an infinite scroll.
2024-01-08 02:44:52 +01:00
9f6ac4acd1
[Automatic] Updated components cache 2024-01-06 23:53:33 +00:00
3d2ee5d6bb
Replaced some new typing | notations with Union.
The `|` notation breaks on Python < 3.10.
2024-01-07 00:52:24 +01:00
1cd328ef44
[Automatic] Updated components cache 2024-01-06 23:32:55 +00:00
c64c28f7a8
(Re)-added backend/sensor/__init__.py file.
If the empty file is missing then any remaining backends under that
package won't be indexed.
2024-01-07 00:31:45 +01:00
f9e5117145
[Automatic] Updated components cache 2024-01-06 23:07:31 +00:00
f733c6318f
Moved optional import in constructor block. 2024-01-07 00:05:51 +01:00
1ff8cfd240
[CI/CD] A more robust logic to regenerate components.json.gz.
We shouldn't rely on `git diff`. Even when the underlying source code
hasn't changed, and the cache is dumped with `sort_keys=True`, some of
the generated snippets of docstrings may change, leading the CI/CD
pipeline to get stuck in a push loop.

We should instead look for changes to the plugins, backends, events and
schemas folders before and after the CI/CD trigger to infer if we need
to regenerate the file.
2024-01-06 23:45:51 +01:00
e803807b8d
[Automatic] Updated components cache 2024-01-06 21:51:43 +00:00
edd92b8467
Fix: Ensure that components cache keys are ordered before dumping to file.
Reason: The CI/CD automation regenerates the cache file, and commits
the changes if it differs from the previous version.

The only way to ensure semantic equivalence is to sort the keys upon
dump.
2024-01-06 22:50:34 +01:00