Commit graph

3657 commits

Author SHA1 Message Date
Serene-Arc
83242fd7cf Apply formatting 2024-03-01 15:21:25 +10:00
Maxr1998
ba66808c74
advancedrewrite: Fix multi-valued fields specified as a single string 2024-01-01 19:33:22 +01:00
Max Goltzsche
6b929c6e72
web: fix range request support
Do not let the web plugin overwrite the Content-Length header with the full file length since flask/werkzeug sets the requested range's/chunk's size when handling a range request.
This allows to play large audio/opus files using e.g. a browser/firefox or gstreamer/mopidy without making a reverse-proxy/nginx emulate range request support and hide range-related headers from the backend.
2023-12-20 01:23:13 +01:00
Max Goltzsche
58e5b02929
smartplaylist: add --uri-format option
Beets web API already allows remote players to access audio files but it doesn't provide a way to expose the playlists defined using the smartplaylist plugin.
Now the smartplaylist plugin provides an option to generate ID-based item URIs/URLs instead of paths.
Once playlists are generated this way, they can be served using a regular HTTP server such as nginx.

To provide sufficient flexibility for various ways of integrating beets remotely (e.g. beets API, beets API with context path, AURA API, mopidy resource URI, etc), the new option has been defined as a template with an `$id` placeholder (assuming each remote integration requires a different path schema but they all rely on using the beets item `id` as identifier/path segment).

To prevent local path-related plugin configuration from leaking into a HTTP URL-based playlist generation (invoked with CLI option in addition to the local playlists generated into another directory), setting the new option makes the plugin ignore the other path-related options `prefix`, `relative_to`, `forward_slash` and `urlencode`.

Usage examples:
* `beet splupdate --uri-format 'http://beets:8337/item/$id/file'` (for beets web API)
* `beet splupdate --uri-format 'http://beets:8337/aura/tracks/$id/audio'` (for AURA API)

(While it was already possible to generate playlists containing HTTP URLs previously using the `prefix` option, it did not allow to generate ID-based URLs pointing to the beets web API but required to expose the audio files using a web server directly and refer to them using their file system `$path`.)

Relates to #5037
2023-12-16 05:37:27 +01:00
Max Goltzsche
385c05f98e
smartplaylist: change option --extm3u to --output
The boolean flags `--extm3u` and `--no-extm3u` are replaced with a string option `--output=m3u|m3u8`.
This reduces the amount of options and allows to evolve the CLI to support more playlist output formats in the future (e.g. JSON) without polluting the CLI at that point.
2023-12-16 00:23:03 +01:00
Maxr1998
41719d7b49
advancedrewrite: Apply same rewrite to more corresponding album fields 2023-12-15 17:23:40 +01:00
Adrian Sampson
1efd67cb82
Merge pull request #5044 from Maxr1998/advancedrewrite-rewrite
advancedrewrite: Support simple syntax and improve advanced syntax
2023-12-15 09:34:25 -05:00
Max Goltzsche
222b3a34f9
smartplaylist: expose config as CLI options
Add CLI options to `splupdate` command:
* `--playlist-dir`, `-d`
* `--relative-to`
* `--prefix`
* `--urlencode`
* `--forward-slash`
* `--pretend-paths`
2023-12-15 03:51:27 +01:00
Max Goltzsche
b07a2e42f4
smartplaylist: add extm3u/extinf/m3u8 support
This is to be able to display meaningful metadata and search a playlist within a player without having to load the linked audio files of a playlist.
2023-12-14 01:46:14 +01:00
Maxr1998
304a052dfd
advancedrewrite: Support simple syntax and improve advanced syntax 2023-12-13 14:48:43 +01:00
J0J0 Todos
e5d10004ae
Merge pull request #4807 from doronbehar/mbsubmit-improvements
mbsubmit: Add picard `PromptChoice`
2023-12-06 13:08:20 +01:00
Doron Behar
729a11e211 mbsubmit: Add picard PromptChoice
Make it possible to open picard from the import menu when there are weak
recommendations.
2023-12-05 13:49:03 +02:00
Alok Saboo
4348a49a4f Formatting fixes 2023-12-04 11:38:34 -05:00
Alok Saboo
bdc7de874d Revert code cleanup 2023-12-04 11:37:01 -05:00
Alok Saboo
316b22e9f9 Code cleanup 2023-12-04 11:22:28 -05:00
Alok Saboo
c102505621 Add ConnectionError handling 2023-12-04 10:32:55 -05:00
Adrian Sampson
df2d6ae753
Merge branch 'master' into deezer_error 2023-12-02 13:49:16 -05:00
Alok Saboo
a4ce25fce0 Changed debug logs to error 2023-12-01 12:09:47 -05:00
Alok Saboo
7ffbd040a1 Updated error handling 2023-12-01 08:43:14 -05:00
Alok Saboo
753e4e9a39 Add 502 error handling 2023-11-28 09:58:42 -05:00
Alok Saboo
1a77d9575b Formatting fixes 2023-11-25 10:29:02 -05:00
Alok Saboo
2115f31070 Fix comments 2023-11-25 10:27:29 -05:00
Alok Saboo
e5df18c981 Merge remote-tracking branch 'upstream/master' into deezer_error 2023-11-23 09:40:21 -05:00
Alok Saboo
dee893a7d0 Add helper function and address comments 2023-11-23 09:40:03 -05:00
Alok Saboo
b2fe89d70c formatting fixes 2023-11-22 12:03:33 -05:00
Alok Saboo
33f8ae3e50 Use exception instead of a module in try-except block 2023-11-22 12:02:39 -05:00
Alok Saboo
b4cc654153 Formatting fixes 2023-11-22 11:56:06 -05:00
Alok Saboo
3f68856e58 Lint 2023-11-22 11:54:10 -05:00
Alok Saboo
4cf2c6d3a1 Handle Deezer API errors 2023-11-22 11:52:33 -05:00
Alok Saboo
138216a6bb Update docstring 2023-11-16 12:23:42 -05:00
Alok Saboo
3b707b9276 Update spotify.py 2023-11-15 10:31:20 -05:00
Alok Saboo
e2f83cdf77 Fix typo 2023-11-15 10:24:34 -05:00
Alok Saboo
3b8cb98e6d
Update beetsplug/spotify.py
Co-authored-by: J0J0 Todos <2733783+JOJ0@users.noreply.github.com>
2023-11-15 10:21:53 -05:00
Alok Saboo
c64df0d27a
Update beetsplug/spotify.py
Co-authored-by: J0J0 Todos <2733783+JOJ0@users.noreply.github.com>
2023-11-15 10:21:42 -05:00
Alok Saboo
33944d457b formatting 2023-11-12 09:45:29 -05:00
Alok Saboo
9e1c530c9d also include EAN and UPC 2023-11-12 09:43:59 -05:00
Alok Saboo
e7d86f2fc9 Update spotify.py 2023-11-12 09:40:25 -05:00
Alok Saboo
7952f0a71d Also obtain track ISRC 2023-11-11 21:35:14 -05:00
Alok Saboo
d561ba7793 Add isrc 2023-11-11 21:23:50 -05:00
Alok Saboo
86daa0111c Update spotify.py 2023-11-11 21:02:52 -05:00
jeff
7b0f5fb3f3 Add config option to prefer synced lyrics over plain 2023-11-05 11:26:33 -05:00
jeff
e14982cad7 Add LRCLIB as a provider for the lyrics plugin 2023-11-05 11:26:33 -05:00
wisp3rwind
05383a0dab replaygain: typings
also, minor clean-up (remove unused function after_version, f-string
conversion)
2023-11-05 08:25:39 +01:00
Alok Saboo
c1e91f42df Formatting 2023-11-01 18:12:23 -04:00
Alok Saboo
d4a4934f7a Improve error handling 2023-11-01 17:38:50 -04:00
Adrian Sampson
6655760732
Merge pull request #4974 from fhchl/master 2023-10-26 10:09:07 -04:00
Adrian Sampson
a2d6819276
Merge pull request #4972 from henges/henges/discogs-fetchart
discogs: Populate `cover_art_url` attribute
2023-10-25 14:51:33 -04:00
Leet
eea7c19abc Use gender-neutral language 2023-10-23 17:41:38 -04:00
U-LAPTOP-4EP3DB2K\alexa
5fe19c1d1d PR feedback: fix formatting 2023-10-23 09:47:19 +08:00
fhchl
3e1d496ba1
return empty lists instead of None 2023-10-22 20:46:36 +02:00