8999a226b1
[WIP] Updated documentation for camera.pi
.
2024-02-24 21:16:43 +01:00
e46704010b
[WIP] Rewritten camera.pi.legacy
plugin.
2024-02-24 14:07:07 +01:00
9ad9bd20e4
Added stream_on_start
argument to camera
plugins.
...
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
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
2024-02-19 00:07:29 +00:00
d0f1ee0582
[Automatic] Updated components cache
2024-02-16 23:03:08 +00:00
c59446fdb1
Fixed setting of output_file
on FfmpegWriter
.
...
Also, fixed parameters passed to camera
writer objects.
2024-02-17 00:01:47 +01:00
a38ef6bc7a
Workaround for possible multiple camera parameter
error.
2024-02-15 00:51:04 +00:00
191d7a75ea
[Automatic] Updated components cache
2024-02-06 22:29:48 +00:00
8f7aad2af7
google-assistant-sdk is no longer a dependency for the Google Assistant integration
2024-02-06 20:08:57 +01:00
48756e6287
[Automatic] Updated components cache
2024-02-05 01:19:21 +00:00
2b595623b3
[ #348 ] Converted gps
backend into a plugin.
...
Closes : #348
2024-02-05 02:16:02 +01:00
8351463a11
[Automatic] Updated components cache
2024-02-03 21:11:01 +00:00
c8944feca4
[ #348 ] Merge + refactor for the mail
backend/plugin ( #362 )
...
Closes : #348
Reviewed-on: platypush/platypush#362
2024-02-03 22:09:40 +01:00
5badc935ac
[Automatic] Updated components cache
2024-02-03 21:08:07 +00:00
7d362cae1a
FIX: Redis pub/sub error can also raise a ValueError
on close.
2024-02-03 22:06:36 +01:00
39d5c48088
[Automatic] Updated components cache
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
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
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
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
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
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
0f130235d3
[Automatic] Updated components cache
2024-01-06 21:46:12 +00:00
4926f28f24
[Automatic] Updated components cache
2024-01-06 21:45:04 +00:00
cce04ef729
Updated components file
2024-01-06 22:41:25 +01:00
771ecd9a5b
Fixed typo in the package name of the Github manifest.
2024-01-06 22:41:24 +01:00
30bbc396fb
[Automatic] Updated UI files
2024-01-06 21:27:39 +00:00
6e1ab92298
New components cache management.
...
The cache is no longer generated at runtime when the application runs -
which may take quite a while, especially on fresh installations.
A `components.json.gz` file is instead generated by the CI/CD process on
every commit to the main branch, and distributed with the package.
The application will read this file when the `inspect` plugin is first
initialized.
This also means that we can no longer cache the `install_cmds`, as they
change depending on the target OS. A new
`application.get_install_commands` action has now been made available to
the UI, so it can get the correct installation commands at runtime.
2024-01-06 22:21:59 +01:00
ef885e096f
Added inspect.get_pkg_managers
internal action.
...
It will be used by the UI to put together the installation commands.
2024-01-06 03:02:31 +01:00
snyk-bot
c6593cfa06
fix: platypush/backend/http/webapp/package.json & platypush/backend/http/webapp/package-lock.json to reduce vulnerabilities
...
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-AXIOS-6144788
2024-01-05 14:12:29 +00:00
e1b6be7673
Marshmallow has replaced field.default
with field.dump_default
.
2024-01-05 02:56:10 +01:00
8fd5009553
[foursquare] Proper cast to number for db variables which may be strings.
2024-01-05 02:56:10 +01:00
5167597ace
[Automatic] Updated UI files
2024-01-05 01:27:29 +00:00
afee6c5c85
[music UI] Implemented infinite scroll for playlist view.
...
Instead of loading all the tracks in the DOM (very inefficient and slow
on slow devices and/or with big playlists), we should keep a window of
100 items in the screen and roll it over the playlists as the status
change or the user scrolls.
2024-01-05 02:19:38 +01:00
91a8fd3b56
[system] A more robust logic to parse cache size from cpuinfo
.
2024-01-04 13:55:08 +01:00
9c3da7a2a9
Several improvements for request/procedure execution.
...
- Fixed regression introduced by incorrect format string in `exec`.
- LINT for the `procedure` module.
- Apply `Message.Encoder` when dumping values from the context.
2024-01-04 13:13:16 +01:00
b72fb83d18
Merge branch '286/merge-foursquare-backend'
2024-01-01 23:00:55 +01:00
4aeff10a5d
[ #286 ] Merge Foursquare backend and plugin.
...
Closes : #286
2024-01-01 22:54:18 +01:00
efe46386f4
[Entities UI] Reverted .extension-container
max-width.
2024-01-01 14:27:18 +01:00
b8f8236c28
[Automatic] Updated UI files
2024-01-01 13:24:56 +00:00
35772c0ae3
[Entities UI] Reverted .extension-container
max-width.
2024-01-01 13:23:24 +00:00
3fbb0d289b
Fixed docstring
2024-01-01 13:23:24 +00:00
7f13e02803
Fixed docstring
2023-12-31 04:34:42 +01:00
1abf8c964a
Merge branch 'master' into 287/github-backend-migration
2023-12-30 16:29:51 +01:00
5eb09eab1a
[ #287 ] Migrated github
from a backend to a runnable plugin.
...
Closes : #287
2023-12-30 15:28:16 +00:00
2701f69d17
[ #287 ] Migrated github
from a backend to a runnable plugin.
...
Closes : #287
2023-12-30 16:28:12 +01:00
a2a07afc05
[UI] Better default scrollbar width on Webkit.
2023-12-30 13:41:45 +01:00
0fb1035331
[Automatic] Updated UI files
2023-12-30 12:38:57 +00:00
12a043d67e
[Automatic] Updated UI files
2023-12-30 03:39:44 +00:00
57737b1b72
[Entities UI] Don't disable/set loading=true on properties during initial refresh.
2023-12-30 04:42:51 +01:00
5bec01a389
[Automatic] Updated UI files
2023-12-29 23:04:08 +00:00
2c429e9003
[Music UI] Fixed alignment of buttons in the playlist header.
2023-12-30 00:06:56 +01:00
2575d6cbc5
[Extensions UI] Fix hljs.highlight
call to match new API.
2023-12-30 00:04:31 +01:00
7e58044804
[Automatic] Updated UI files
2023-12-29 03:04:26 +00:00
171ed7f743
[Entities UI] Better refresh logic.
2023-12-29 03:45:17 +01:00
2546a582d2
[Automatic] Updated UI files
2023-12-25 12:44:31 +00:00
ce1e8513d4
[music UI] Several UI improvements
2023-12-25 12:43:00 +00:00
be54469df0
[music UI] Fixed search form.
2023-12-25 12:43:00 +00:00
0de322fb95
[assistant.google] Propagate plugin name as a string to events.
...
This also makes it easier to programmatically stop conversations on
`SpeechRecognizedEvent` with a matched phrase.
2023-12-21 00:28:27 +01:00
199b42584f
Updated reference configuration sample for alarm
.
2023-12-18 14:05:35 +01:00
b107496fbd
[Automatic] Updated UI files
2023-12-18 12:56:41 +00:00
9cad27335d
[UI] Attribute sort.
2023-12-18 13:53:09 +01:00
cfc7a5a6a0
[alarm] Added media_repeat
configuration.
2023-12-18 13:46:45 +01:00
52fd64a162
[alarm] Added dismiss_interval
configuration.
2023-12-18 03:01:27 +01:00
250858fe99
[Alarm UI] Added snooze/dismiss modal when alarm is running.
2023-12-18 01:36:58 +01:00
aff02e0732
[alarm] Include type='alarm'
in Alarm.to_dict()
.
...
This is for compatibility with other backend/frontend components who
expect valid entities on events or responses, and hence may break if
`type` is not specified.
2023-12-18 01:13:46 +01:00
29f65371d8
[Alarm UI] Support for adding/removing alarms.
2023-12-18 00:12:16 +01:00
e617a9fe82
[alarm] Added alarm.delete
.
2023-12-18 00:05:34 +01:00
b7423e1c34
Added AlarmEditor
component.
2023-12-17 17:53:38 +01:00
430a111303
[alarm] Better default actions inference in alarm.edit
.
2023-12-17 17:53:08 +01:00
b0feb8ed8f
[UI] Fixed regex match for initSelectedPanel.
2023-12-17 17:52:43 +01:00
9d456281a6
[Entities UI] Removed unrequired z-index on header.
2023-12-17 17:52:15 +01:00
5972c728a4
[Chore] Upgraded hljs.highlight
API.
...
The old API, (lang, code, ...args), is now deprecated.
2023-12-16 23:49:25 +01:00
b916c98b70
[ProcedureEditor] Emit input
upon action changes.
2023-12-16 23:29:57 +01:00
1bd2361a3d
[TimeInterval] Refresh value on mounted
.
2023-12-16 23:27:22 +01:00
d4543c2fb7
Added ProcedureEditor
component.
2023-12-16 19:03:46 +01:00
07a144aadc
[ActionTile] Support for drag and drop.
2023-12-16 19:00:04 +01:00
837007132d
[FloatingButton] Better default colors.
2023-12-16 18:59:30 +01:00
3bc27a505f
[UI] setUrlArgs should remove args when value == null.
2023-12-16 18:58:31 +01:00
065f7d74a5
[ActionTile] Better hover style.
2023-12-16 14:23:46 +01:00
63767cb87c
[UI] Added ActionTile
component.
2023-12-16 14:14:34 +01:00
7fcffe899e
[ActionEditor] Support for action save/input events.
2023-12-16 14:13:11 +01:00
f9ba4564e7
[Tabs UI] Force height to $tab-height
.
2023-12-16 14:12:30 +01:00
028f48ed49
[Autocomplete UI] Better handling of blur
events.
2023-12-16 14:09:04 +01:00
1dfbe0c12d
Ability to specify a custom initial action for the ActionEditor
.
2023-12-14 22:22:10 +01:00
8bbafd2f7d
Better logic on the UI to parse the current URL fragment arguments.
2023-12-13 21:56:34 +01:00
9beb10c373
Extracted ActionEditor
from the Execute
plugin.
...
So it can be reused in other components that need to handle actions.
2023-12-12 23:33:16 +01:00
4e85087c0f
Added AlarmEditor
component to Alarm
.
2023-12-12 22:52:11 +01:00
d4f6d174c8
Added FileSelector
UI component.
2023-12-12 21:13:55 +01:00
bac06e9e7b
Added TimeInterval
component.
2023-12-12 00:05:46 +01:00
6edb8c8318
[ #340 ] s/datetime.fromisoformat/dateutil.parser.isoparse/
...
We may receive JavaScript timestamps with non-standard `Z` suffix too.
2023-12-11 22:24:55 +01:00
6e7c5def2f
CronEditor
should contain the raw cron expression and a copy button.
2023-12-11 22:18:57 +01:00
00694f4e10
CopyButton
events should have a .prevent
clause.
2023-12-11 22:18:17 +01:00
61ef48119f
Apply default input rules to time
and datetime-local
elements.
2023-12-11 22:17:47 +01:00
627bb66957
Added CronEditor
component.
2023-12-11 00:25:24 +01:00
894faaad1e
[ #340 ] Force a refresh via alarm.status
when Alarm
view loads.
2023-12-10 21:53:19 +01:00
b4be56ec2c
[ #340 ] Added condition_type
field to alarm objects.
2023-12-10 21:52:50 +01:00
e6e4396e49
Enhanced get_default_media_plugin
to filter by video/audio plugins.
2023-12-10 21:50:53 +01:00
03c167d6b7
[ #340 ] Added Alarm.is_cron
property.
2023-12-10 20:58:13 +01:00
2d8f6102c1
[ #340 ] Added alarm.edit
action.
2023-12-10 20:39:06 +01:00
8ddd9879f2
[ #340 ] Alarm model enhancements.
...
- Allow initialization of alarm actions from `Procedure` objects too.
- Force `state=WAITING` when an alarm is disabled.
2023-12-10 17:56:47 +01:00
686085750f
[ #340 ] Added configuration snippet for the new alarm
integration.
2023-12-10 15:45:36 +01:00
dfa0727289
[ #340 ] Added alarm
UI panel.
2023-12-10 15:33:19 +01:00
62054e83cc
Remaining entity modal style rules moved from Entities
to EntityModal
.
2023-12-10 15:32:42 +01:00
42574d054a
[ #340 ] Ironed out some bugs in the alarm
integration.
...
- The alarm ID should be randomly generated - auto-increment IDs are
subject to race conditions when alarms are created in separate
processes.
- Clean up alarms that are not static and have been removed from the db.
- Better alarm shut down detection logic.
2023-12-10 15:30:19 +01:00
ca57d3d7b3
[ #340 ] Initial implementation of the alarm entities UI.
2023-12-09 20:33:11 +01:00
f27e7bb7e2
[ #340 ] Better state management for alarms.
...
- Added `AlarmEnabledEvent` and `AlarmDisabledEvent`.
- Added `snooze_interval` configurable both at plugin level and alarm
level.
2023-12-09 17:12:20 +01:00
34e2a59285
Added optional id
attribute to ToggleSwitch
.
2023-12-09 16:12:08 +01:00
4b578c38c8
[ #340 ] Better state management for alarms.
2023-12-09 14:25:18 +01:00
9d5c755188
[ #340 ] Alarm integration improvements.
...
- Emit `EntityDeleteEvent` when an alarm is expired and removed so
clients can properly synchronize their state.
- `croniter.get_next()` should be timezone-aware.
2023-12-09 13:33:42 +01:00
fcb6b621ab
[ #340 ] Added persistence of alarm entities.
2023-12-09 01:25:12 +01:00
3ffaaa0eb9
Added Procedure.to_dict
method.
...
Also, LINT+black for the `procedure` module.
2023-12-09 01:23:36 +01:00
a6d6fd4067
Message
objects enhancements.
...
- Support smart JSON serialization of `Message` objects.
- Added `Message.to_dict` method.
2023-12-09 01:20:20 +01:00
5ad1a62293
[ #340 ] Merged alarm
backend into the alarm
plugin.
...
Closes : #340
2023-12-06 19:23:19 +01:00
2670d40094
Added get_default_media_plugin
utility.
2023-12-06 01:31:05 +01:00
680de865c4
Minor docstring fix.
2023-12-04 03:09:02 +01:00
5823dd0e21
[ #292 ] Converted backend.log.http
to a runnable plugin.
...
Closes : #292
2023-12-04 03:03:21 +01:00
1843ab224b
[ #289 ] Converted backend.file.monitor
into a runnable plugin.
...
Closes : #289
2023-12-04 03:03:20 +01:00
d484a34c00
[Automatic] Updated UI files
2023-12-03 23:34:57 +00:00
d048752184
[ #301 ] Exposing hosts as entities in the ping
plugin.
...
Closes : #301
2023-12-04 00:36:45 +01:00
3bb7c02572
[ #301 ] Merged ping
backend and plugin.
...
Also, removed `ping` response types.
2023-11-24 02:06:53 +01:00
71ccffa698
[weather.buienradar] Implemented forecast support.
2023-11-23 01:35:58 +01:00
b969afb1cf
Added support for weather forecast events and entities.
2023-11-23 01:35:58 +01:00
841a28066b
Added support for generic kwargs to publish_entities
.
2023-11-23 01:35:57 +01:00
ca7c89949b
Only react on NewWeatherConditionEvent
if plugin_name
is compatible.
2023-11-23 01:35:57 +01:00
aca71c6bc7
[wallabag] Improved OAuth flow integration.
...
If the user provided `username` and `password` in the plugin
configuration, then we should use those credentials to refresh the OAuth
token when expired.
2023-11-22 11:38:00 +01:00
7bb15b0a03
[Automatic] Updated UI files
2023-11-20 02:08:35 +00:00
a0d8c522a2
[ #308 ] Finalized weather
integrations migration.
...
- Migrated `weather.buienradar` integration.
- Removed last leftovers of the previous weather backends and responses.
Closes : #308
2023-11-20 03:10:00 +01:00
2dac98c56e
More rst fixes.
2023-11-20 03:09:59 +01:00
a798cfa387
[Automatic] Updated UI files
2023-11-20 01:42:12 +00:00
80be79f5e8
Fixed link format.
2023-11-20 02:43:18 +01:00
bc8730d6f0
[ #308 ] Removed weather
backend.
2023-11-20 01:54:10 +01:00
b8a4b9e4c5
Implemented support for weather entities.
2023-11-20 01:46:01 +01:00
bf8f31545a
Fixed alignment of entity icon in modal.
2023-11-19 22:33:19 +01:00
b800899859
[ #308 ] Refactored weather.openweathermap
plugin.
2023-11-19 00:10:10 +01:00
6108cbb621
Added Config.get_device_id()
classmethod.
2023-11-18 23:04:19 +01:00
eec2908cc2
Removed DarkSky integration.
...
The API has gone and it's been merged into Apple Weather.
2023-11-18 21:45:47 +01:00
674c1036c5
Fixed some plugin usages of self._bus
.
...
Now `_bus` is a common property shared by all the plugins, so it
shouldn't be overloaded.
2023-11-18 16:58:55 +01:00
8817581061
Removed -U
option from pip command when installing deps.
...
We don't need to forcefully upgrade packages that don't need to be
upgraded.
2023-11-18 16:07:16 +01:00
869ef38364
Removed explicit numpy
pip dependency in assistant.google
.
...
It will be installed by the other dependencies anyway.
2023-11-18 16:01:24 +01:00
fdaff32cd0
Fixed docstring for chromecast.status
.
2023-11-18 14:17:17 +01:00
1a777c6276
Removed Todoist backend and migrated responses to schemas.
...
The Todoist Websocket interface is no longer working properly, and I'm
sick of reverse engineering it.
Closes : #305
2023-11-18 10:16:48 +01:00
c2f53b7771
Added _bus
property on Plugin
.
2023-11-18 10:13:35 +01:00
f12af08e73
Minor return type fix.
2023-11-17 22:30:30 +01:00
0f9614506b
[trello] Updated procedure to retrieve the frontend cloud token.
2023-11-17 10:28:27 +01:00
c919cf0cd8
[trello] (Almost) complete plugin rewrite.
...
- Merged `trello` plugin and backend into a single plugin.
- Removed legacy `Response` objects, replaced with data classes and
schemas.
- Fixed the Websocket connection flow to reflect the new authentication
protocol.
Closes : #307
2023-11-17 02:07:04 +01:00
39b4483401
Fixed joystick
manifest.
2023-11-16 22:08:00 +01:00
7bb08bca07
[joystick] Rewritten joystick
integration as a plugin.
...
And removed legacy `joystick*` backends and `inputs` plugin.
Closes : #290
2023-11-16 21:43:56 +01:00
5e629990e6
[Automatic] Updated UI files
2023-11-15 02:04:50 +00:00
d617443af6
[YouTube] Added subscriptions+channels support.
...
Closes : #337
2023-11-15 03:05:58 +01:00
9ed7026aaf
[media UI] Propagate free text filter to all the views.
2023-11-15 03:05:58 +01:00
ae017516c4
[YouTube UI] Support playlist navigation in the media nav.
2023-11-15 03:05:57 +01:00
4853f51c8b
[YouTube] Added (read-only) playlists support.
2023-11-15 03:05:57 +01:00
b491f81cda
[media UI] Added loading spin overlay upon play.
2023-11-15 03:05:57 +01:00
9e5728f8ba
[Automatic] Updated UI files
2023-11-13 01:39:51 +00:00
96e69811fe
[ #337 ] Initial YouTube UI with feed support.
2023-11-13 02:40:50 +01:00
f425e95e7e
[media UI] Show track image if available on desktop+ size.
2023-11-13 02:40:50 +01:00
60fb7bba5f
[media UI] Added support for generic media providers.
2023-11-13 02:40:50 +01:00
be28965d84
[youtube
] Added youtube.get_feed
action.
2023-11-13 02:40:50 +01:00
b63579b81c
[UI] Fixed some glitches of the Dropdown component.
2023-11-13 02:40:49 +01:00
f6c752c80e
[Automatic] Updated UI files
2023-11-12 14:59:23 +00:00
50922cf149
[media UI] Fixed player selector style after Dropdown component changes.
2023-11-12 15:55:28 +01:00
ca72e22820
[UI] Proxy /media/*
requests to upstream when Vue is in debug mode.
2023-11-12 15:55:03 +01:00
d4b519a572
[media UI] Wrapped the file browser into a MediaBrowser
component.
...
This will make it easier to support multiple media collection providers
other than local files.
2023-11-12 15:54:27 +01:00
6dfe2324c1
[UI] Added navigation crumbs to the file browser.
2023-11-12 15:53:46 +01:00
724f625963
[media.chromecast
] Skip errors on cast.wait
.
...
It may be that the cast thread has been recycled and it's already been
awaited. It's safe to skip the error in these cases.
2023-11-12 15:52:31 +01:00
e416a70658
[UI] (Re)-added required logo-256x256.png
image.
2023-11-12 15:52:07 +01:00
cad36b7911
[UI] Watch the connected
flag for changes to update the Nav indicator.
2023-11-12 14:00:18 +01:00
60b5f235a7
[Automatic] Updated UI files
2023-11-12 02:08:23 +00:00
1f321c32dc
[media.chromecast
] Full plugin rewrite.
2023-11-12 03:08:54 +01:00
20aeb0b72e
[system
] Some versions of cpuinfo
may return cache sizes in human-readable format.
2023-11-10 21:55:41 +01:00
9a090d1b46
[system
] Cache sizes can also be float, not necessarily int.
2023-11-10 21:30:56 +01:00
snyk-bot
d54970765e
fix: upgrade vue from 3.3.4 to 3.3.6
...
Snyk has created this PR to upgrade vue from 3.3.4 to 3.3.6.
See this package in npm:
https://www.npmjs.com/package/vue
See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2023-11-10 14:35:37 +00:00
3d62069775
[Automatic] Updated UI files
2023-11-10 01:48:45 +00:00
ceae310901
[snapcast
] Merged backend logic into the plugin.
...
Closes : #283
2023-11-10 02:48:07 +01:00
6c3edb73f9
[music.snapcast
] Fixed message serialization issue.
...
Closes : #338
2023-11-09 22:46:54 +01:00
1ec42e11fc
[Automatic] Updated UI files
2023-11-09 01:46:44 +00:00
52ee614ec4
[media
] Added logic to parse local media metadata.
2023-11-09 02:47:34 +01:00
a83f4729a6
[UI] Extracted grid
into layout.scss
.
2023-11-09 02:47:34 +01:00
4814c56a2d
[media
UI] Added resolution to media info.
2023-11-09 02:47:34 +01:00
90a9684404
[media
UI] Added extra rating fields to the media info component.
2023-11-09 02:47:33 +01:00
cd635ea69e
[torrent
] Fixed duration and image for TV series results.
2023-11-09 02:47:33 +01:00
e66ca105d7
[jellyfin
] Added duration
field to video results.
2023-11-09 02:47:33 +01:00
d1b721dba5
[torrent
] Added image
to search results.
2023-11-09 02:47:33 +01:00
eb7a96ee94
[youtube
] Added more metadata fields to search results.
2023-11-09 02:47:32 +01:00
d7093d18c5
[media
UI] Major redesign of the search results.
2023-11-09 02:47:32 +01:00
f7a25a478d
[UI] Dropdown component rewrite.
...
Dropdown components should always be rendered under the root element, or
nasty effects caused by absolute parenting may end up hiding dropdown
elements regardless of their `z-index`.
The new approach uses a single `<DropdownContainer>` element in the
main `App` file. Each `<Dropdown>` component will push updates to the
bus whenever it triggers open/close events, and the dropdown component
to be rendered will be pushed upstream and rendered in the root element.
2023-11-09 02:47:32 +01:00
fafc1747d6
[Automatic] Updated UI files
2023-11-06 23:45:02 +00:00
3d2dc22ed3
[media
UI] Improved media UI.
2023-11-07 00:45:45 +01:00
e7bd61e0d4
Black/LINT for Jellyfin plugin.
2023-11-07 00:45:45 +01:00
a94ddd3f05
[torrent
] duration * 60 for results returned by PopcornTime API.
2023-11-07 00:45:44 +01:00
1d41df51e7
[media
] Extended current track with ytdl metadata if available.
2023-11-07 00:45:44 +01:00
a939cb648c
[media
UI] Extracted PlayPauseButton
into its own component.
2023-11-07 00:45:44 +01:00
7889846cd6
[Automatic] Updated UI files
2023-11-06 01:29:16 +00:00
2caa171c6d
[media
UI] Fixed alignment of the controls right handle.
2023-11-06 02:25:54 +01:00
27da2becd7
[media
] Added media.get_info
action.
...
It combines the `-j` and `-g` options of ytdl* to get both the stream
URL and the track metadata.
2023-11-06 02:25:35 +01:00
e0a9ccca24
[media UI
] Component refactor.
...
- Fixed style of the floating control extensions panel.
- Extracted `ProgressBar` and `ExtraControls` into separate components.
2023-11-06 01:54:12 +01:00
8e8bd7fb9f
[media UI
] Fixing/refactoring media UI.
...
- Fixed broken elements in the media control view.
- Fixed volume bar.
2023-11-05 23:45:37 +01:00
6411688e65
[youtube
] Don't fail if some items in the response have missing attrs.
2023-11-05 22:12:21 +01:00
snyk-bot
9814292a2e
fix: upgrade vue-router from 4.2.4 to 4.2.5
...
Snyk has created this PR to upgrade vue-router from 4.2.4 to 4.2.5.
See this package in npm:
https://www.npmjs.com/package/vue-router
See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2023-11-05 15:30:06 +00:00
snyk-bot
eff126052d
fix: upgrade core-js from 3.32.0 to 3.33.0
...
Snyk has created this PR to upgrade core-js from 3.32.0 to 3.33.0.
See this package in npm:
https://www.npmjs.com/package/core-js
See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2023-11-05 15:30:02 +00:00
snyk-bot
3ddac09412
fix: upgrade sass from 1.65.1 to 1.69.3
...
Snyk has created this PR to upgrade sass from 1.65.1 to 1.69.3.
See this package in npm:
https://www.npmjs.com/package/sass
See this project in Snyk:
https://app.snyk.io/org/blacklight/project/96bfd125-5816-4d9e-83c6-94d1569ab0f1?utm_source=github&utm_medium=referral&page=upgrade-pr
2023-11-05 15:29:57 +00:00
daa93f5994
[media
UI] Fixed style of the Play URL modal.
2023-11-05 12:19:36 +01:00
71bca662a1
media.play
should support anything supported by a yt_dlp extractor.
2023-11-05 02:40:38 +01:00
e45fb9c8ac
Major rewrite of the media
routes.
...
- Streaming and media subtitles endpoints moved from Flask to Tornado
routes - the old Flask streaming route no longer worked behind a
Tornado server.
- Storing the streaming state on Redis rather than in a local variable,
or different Tornado processes may end up with different copies of the
registry.
Closes : #336
2023-11-05 01:33:36 +01:00
0e2738d849
Added _on_error
handler to StreamingRoute
.
2023-11-05 01:03:40 +01:00
7c780e6650
Refactored utils.bus.send_request
.
...
It should return the response output and raise an error if the response
has errors.
2023-11-04 16:22:27 +01:00
f7fe844296
Black/LINT pass for media handler routes.
2023-11-04 16:13:52 +01:00
11c3b7820d
[torrent
] Create download_dir
if it doesn't exist.
2023-11-04 15:48:05 +01:00
07e7f06c7a
[Automatic] Updated UI files
2023-11-04 11:12:51 +00:00
2b12984c81
[youtube
] Full plugin rewrite.
...
Instead of relying on the official Google YouTube API (limited, subject
to breaking changes with short/no notice depending on Google's strategy
against scrapers, and with an initial setup that has a high cost), we'll
just stick to Piped from now on.
It's free, it doesn't require API keys, it's unlikely to change, it's
not subject to Google's hostile practices against developers, and
anybody can run an instance.
2023-11-04 12:11:44 +01:00
44d4ae2a96
[media
] Made the youtube-dl
executable configurable.
...
`youtube-dl` is mostly dead and there are several forks available, thus
we need to give the user the ability to pick which `youtube-dl`
executable fork they want to use.
Among these, `yt-dlp` is probably the most maintained today and it's
also included in many default repos, so it's been added as an extra
requirement for all the media plugins.
Closes : #268
2023-11-04 11:57:09 +01:00
5478b90288
[Media UI] Start/stop streaming use the configured media plugin.
...
The base `media` plugin is abstract, hence the `Media` panel needs to
pass the current media plugin to the `Utils` mixins so it can pick the
right action.
2023-11-04 11:54:44 +01:00
b4bf30945a
[media
] Black/LINT for MediaPlugin
.
2023-11-04 00:50:08 +01:00
efdb63443d
Renamed the youtube
plugin.
...
From `google.youtube` to `youtube`.
2023-11-04 00:07:29 +01:00
9ac25a7627
[Automatic] Updated UI files
2023-11-03 21:24:49 +00:00
3b335723a9
Merge pull request #387 from BlackLight/snyk-upgrade-7f1672a9074c3d844aa231ad5ba0e90d
...
[Snyk] Upgrade core-js from 3.23.4 to 3.31.1
2023-11-03 22:18:22 +01:00
8acb4156e0
Merge branch 'master' into snyk-upgrade-7f1672a9074c3d844aa231ad5ba0e90d
2023-11-03 22:11:01 +01:00
664ca7f9b5
Merge branch 'master' into snyk-upgrade-ae486550d733dccfaf3fab04d0756007
2023-11-03 22:07:35 +01:00
2bb7285c8a
Merge pull request #392 from BlackLight/snyk-fix-ccc0cd6dbbb455def4c5435b5511ae11
...
[Snyk] Security upgrade axios from 0.21.4 to 1.6.0
2023-11-03 22:06:22 +01:00
10ec4d39ea
Merge pull request #389 from BlackLight/snyk-upgrade-9420343b82254b8e287940baaf3881aa
...
[Snyk] Upgrade sass from 1.64.2 to 1.65.1
2023-11-03 22:06:03 +01:00
f5af85ee65
Merge pull request #390 from BlackLight/dependabot/npm_and_yarn/platypush/backend/http/webapp/babel/traverse-7.23.2
...
Bump @babel/traverse from 7.22.8 to 7.23.2 in /platypush/backend/http/webapp
2023-11-03 22:03:12 +01:00
f6952f1198
[Automatic] Updated UI files
2023-11-03 20:56:12 +00:00
170e37945e
[UI] Make sure that a Modal
never overflows its parent.
2023-11-03 20:54:46 +00:00
4c5366849d
[torrent
] Updated plugin.
...
- The default PopcornTime API host has changed, as popcorn-time.ga is no
longer available.
- The iMDb API now requires a paid tier even for a basic query. The
official iMDb API layer (and the API key requirement) has thus been
replaced with a dear ol' scraping of the frontend endpoint.
- Pass of Black/LINT.
2023-11-03 20:54:46 +00:00
35571b8d13
[UI] Set max-width
for the media info modal.
...
This modal can grow very large depending on the size of the media
metadata, thus it's wise to keep its width in check.
2023-11-03 20:54:46 +00:00
96f2a8f8fc
[UI] Set a base z-index
for the root content canvas.
...
This allows loading spinners, modals and other components with a real
fullscreen background to stretch over the required space, without being
covered by the navigator or other sibling components.
This also requires the collapsed navigator to have a 1px margin-right,
or its separation border won't be visible.
2023-11-03 20:54:46 +00:00
266ee3cadf
Expose run
on the base package level.
...
This enables a syntax like:
```
from platypush import run
run('application.restart')
```
2023-11-03 20:54:46 +00:00
5e2973dd5f
[UI] Removed <tt>
tag.
2023-11-03 20:54:46 +00:00
ba5d505c9b
[youtube
] Black/LINT pass.
2023-11-03 20:54:46 +00:00
f6cb1fa4a7
Added utils.get_default_downloads_dir
.
2023-11-03 20:54:46 +00:00
0e29e770fb
Updated sample config snippet for tts.mimic3
.
2023-11-01 02:30:25 +00:00
d9c4634ce8
[tts.mimic3
] Plugin rewrite.
...
The plugin now leverages the `sound` plugin for playback, like all other
`tts` plugins now do, instead of an external `media` plugin.
This also removes the need for the `/tts/mimic3/say` endpoint.
2023-10-31 00:44:05 +00:00
f960ec4bf4
[sound
] Plugin refactor.
...
- Added `input_format`/`output_format` options to both input and output
audio streams.
- Replaced the previous (confusing) occurrences of `ffmpeg_format` and
`format`.
- Added custom `dtype` option for `sound.play`.
- Added `join` flag (default: false) to `sound.play` to wait for the
playback to finish.
2023-10-31 00:44:05 +00:00
d5514d7f27
Added utils.is_debug_enabled
.
2023-10-31 00:44:05 +00:00
ef3b1d20f2
Updated MediaPlugin
documentation snippet.
2023-10-31 00:44:05 +00:00
0cbd0a94d6
tts plugins should leverage
sound`, not an external media player.
2023-10-31 00:44:05 +00:00
72b2625425
Updated tts
plugin dependencies, as they now leverage the sound
plugin.
2023-10-31 00:44:05 +00:00
68c73fa181
[tts.mimic3
] Added timeout to requests.post
proxy.
2023-10-31 00:44:05 +00:00
snyk-bot
c9ac3e624f
fix: platypush/backend/http/webapp/package.json & platypush/backend/http/webapp/package-lock.json to reduce vulnerabilities
...
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-AXIOS-6032459
2023-10-27 14:35:27 +00:00
42912581f9
[Fix] Always initialize AssistantPlugin._conversation_start_sound
.
2023-10-23 21:30:49 +00:00
23e53f13f0
Removed/commented references to numpy.typing
.
...
That module isn't available yet on the numpy version installed on Debian
`oldstable`.
2023-10-23 20:23:57 +00:00
fc869bf5db
[Fix] sounddevice arguments fix.
...
Different versions of the `sounddevice` dependency may or may not return
the `index` parameter when querying the available sound devices.
Thus, the code should be ready for both cases.
2023-10-23 20:11:14 +00:00
cea3055369
Indent pre- and post-install shell scripts in docs.
2023-10-23 15:48:09 +00:00
6d694f02b4
[Automatic] Updated UI files
2023-10-23 14:04:25 +00:00
a005958317
[Assistant] Added assistant
entity type.
2023-10-23 16:02:05 +02:00
fd26f7fef3
[UI Nav] Fixed position of the connected status dot.
2023-10-23 15:57:47 +02:00
5c22271e88
[UI] Expose the connected
flag on the root element level.
2023-10-23 15:03:36 +02:00
4c0e3a16b6
Removed Alexa/AVS integration.
...
The integration was based on my old fork of the AVS service, which is no
longer functional given the changes the the Amazon's backend side.
A new `avs-device-sdk` is now available, but it seems that it requires
lengthy compilation processes which are RaspberryPi-specific.
Further investigation is needed for a new Alexa plugin - see #334 .
2023-10-23 00:23:10 +02:00
fb017a8b35
[assistant.google
] Added doc on how to configure audio devices.
2023-10-22 22:49:41 +02:00
2c8b06e471
Remove Snowboy integration.
...
It hurts to see it go, as I really believed in this project.
But the website of the project went away in 2020, the Github project
hasn't seen any activity since 2021, and the fork that is supposed to be
used as a replacement for training .pmdl models hasn't been updated
since 2021 - and it only supports Python 2 on Ubuntu 16.04 or 18.04.
One day I may dedicate some efforts to bring Snowboy back to life, but
until then it's definitely not in a state where it's usable for a
Platypush integration.
2023-10-22 22:33:22 +02:00
645e8c8f77
Added updated configuration snippet for assistant.google
plugin.
2023-10-22 21:53:15 +02:00
b46c00f015
Removed deprecated google.assistant.pushtotalk
plugin.
...
It only existed as a back-compatibility layer with armv6, since there
was no build of the assistant library that worked on Raspberry Pi Zero.
But that API layer has been discontinued by Google and it's no longer
functional, so only the `assistant.google` integration (on x86_64 and
armv7) is currently supported.
2023-10-22 19:57:55 +02:00
cce6c4c5ad
[ #284 ] Merged assistant.google
plugin and backend.
...
This removes the deprecated `assistant.google` backend and also adds a
new `conversation_start_sound` parameter.
2023-10-22 19:55:11 +02:00
e24438980a
[sound
] Better logic for default sound device auto-detection.
2023-10-22 18:07:25 +02:00
4d582bb6bc
Ensure that the application always terminates on Ctrl+C.
2023-10-22 02:33:15 +02:00
f75a2159c7
[platyvenv] Add the venv bin directory to the PATH.
...
After creating the virtual environment, we should add `<VENV_DIR>/bin`
to the `PATH` variable, so any next `python`/`pip` commands will be
executed in the new environment.
2023-10-22 02:28:31 +02:00