Commit Graph

3951 Commits

Author SHA1 Message Date
Fabio Manganiello 0e2738d849
Added `_on_error` handler to `StreamingRoute`. 2023-11-05 01:03:40 +01:00
Fabio Manganiello 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
Fabio Manganiello f7fe844296
Black/LINT pass for media handler routes. 2023-11-04 16:13:52 +01:00
Fabio Manganiello 11c3b7820d
[`torrent`] Create `download_dir` if it doesn't exist. 2023-11-04 15:48:05 +01:00
Fabio Manganiello 07e7f06c7a
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing Details
2023-11-04 11:12:51 +00:00
Fabio Manganiello 2b12984c81
[`youtube`] Full plugin rewrite.
continuous-integration/drone/push Build is failing Details
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
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello b4bf30945a
[`media`] Black/LINT for `MediaPlugin`. 2023-11-04 00:50:08 +01:00
Fabio Manganiello efdb63443d
Renamed the `youtube` plugin.
From `google.youtube` to `youtube`.
2023-11-04 00:07:29 +01:00
Fabio Manganiello 9ac25a7627
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing Details
2023-11-03 21:24:49 +00:00
Fabio Manganiello 3b335723a9
Merge pull request #387 from BlackLight/snyk-upgrade-7f1672a9074c3d844aa231ad5ba0e90d
continuous-integration/drone/push Build is failing Details
[Snyk] Upgrade core-js from 3.23.4 to 3.31.1
2023-11-03 22:18:22 +01:00
Fabio Manganiello 23bae8e31c
Merge pull request #388 from BlackLight/snyk-upgrade-ae486550d733dccfaf3fab04d0756007
[Snyk] Upgrade vue-router from 4.1.2 to 4.2.3
2023-11-03 22:18:06 +01:00
Fabio Manganiello 8acb4156e0
Merge branch 'master' into snyk-upgrade-7f1672a9074c3d844aa231ad5ba0e90d 2023-11-03 22:11:01 +01:00
Fabio Manganiello 4a43f5ebf6
Merge pull request #391 from BlackLight/snyk-fix-6906c0f651d59befdc6753ce60922592
[Snyk] Security upgrade werkzeug from 2.2.3 to 3.0.1
2023-11-03 22:08:47 +01:00
Fabio Manganiello 664ca7f9b5
Merge branch 'master' into snyk-upgrade-ae486550d733dccfaf3fab04d0756007 2023-11-03 22:07:35 +01:00
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello f6952f1198
[Automatic] Updated UI files
continuous-integration/drone/push Build is passing Details
2023-11-03 20:56:12 +00:00
Fabio Manganiello 170e37945e [UI] Make sure that a `Modal` never overflows its parent. 2023-11-03 20:54:46 +00:00
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello 5e2973dd5f [UI] Removed `<tt>` tag. 2023-11-03 20:54:46 +00:00
Fabio Manganiello ba5d505c9b [`youtube`] Black/LINT pass. 2023-11-03 20:54:46 +00:00
Fabio Manganiello f6cb1fa4a7 Added `utils.get_default_downloads_dir`. 2023-11-03 20:54:46 +00:00
Fabio Manganiello fd1f93799d [An empty commit to re-trigger the CI/CD pipeline] 2023-11-03 20:54:46 +00:00
Fabio Manganiello 81f7eca319 Better styling of the docs. 2023-11-01 02:30:25 +00:00
Fabio Manganiello 0e29e770fb Updated sample config snippet for `tts.mimic3`. 2023-11-01 02:30:25 +00:00
Fabio Manganiello f3fe249ae9 [An empty commit to re-trigger the CI/CD pipeline] 2023-11-01 02:30:25 +00:00
Fabio Manganiello 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
Fabio Manganiello 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
Fabio Manganiello d5514d7f27 Added `utils.is_debug_enabled`. 2023-10-31 00:44:05 +00:00
Fabio Manganiello ef3b1d20f2 Updated `MediaPlugin` documentation snippet. 2023-10-31 00:44:05 +00:00
Fabio Manganiello 0cbd0a94d6 tts` plugins should leverage `sound`, not an external media player. 2023-10-31 00:44:05 +00:00
Fabio Manganiello 72b2625425 Updated `tts` plugin dependencies, as they now leverage the `sound` plugin. 2023-10-31 00:44:05 +00:00
Fabio Manganiello 68c73fa181 [`tts.mimic3`] Added timeout to `requests.post` proxy. 2023-10-31 00:44:05 +00:00
Fabio Manganiello faacbfd84f [An empty commit to re-trigger the CI/CD pipeline] 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
snyk-bot 51a956c607
fix: requirements.txt to reduce vulnerabilities
The following vulnerabilities are fixed by pinning transitive dependencies:
- https://snyk.io/vuln/SNYK-PYTHON-WERKZEUG-6035177
2023-10-26 14:36:06 +00:00
Fabio Manganiello 42912581f9 [Fix] Always initialize `AssistantPlugin._conversation_start_sound`. 2023-10-23 21:30:49 +00:00
Fabio Manganiello 4a881c33d0 [An empty commit to re-trigger the CI/CD pipeline] 2023-10-23 21:30:49 +00:00
Fabio Manganiello 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
Fabio Manganiello 193314fcd0 [An empty commit to re-trigger the CI/CD pipeline] 2023-10-23 20:23:57 +00:00
Fabio Manganiello 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
Fabio Manganiello b91d544b89 [An empty commit to re-trigger the CI/CD pipeline] 2023-10-23 20:11:14 +00:00
Fabio Manganiello 74ff0f8e33 [An empty commit to re-trigger the CI/CD pipeline] 2023-10-23 19:49:16 +00:00
Fabio Manganiello acf0e0f34f [CI/CD] Moved the chmod commands outside of the if. 2023-10-23 19:46:07 +00:00