Konstantin
412c76afdd
Refactor ID extraction to use enum and cached patterns
...
Use `UrlSource` enum and cached `pattern_by_source` function to replace
string-based source handling and regex dictionary
2026-05-14 02:21:00 +02:00
Martin Caspersen
5342d9bc76
Merge remote-tracking branch 'fork/master' into fix/mbpseudo-raw-data
2026-05-08 12:25:49 +02:00
Šarūnas Nejus
86813678d7
Use pipeline.mutator_stage instead of a Generator
2026-05-06 15:30:51 +01:00
Šarūnas Nejus
ec940e8b61
Remove redundant param provision to encode
2026-05-06 15:30:51 +01:00
Šarūnas Nejus
dd33fef52e
Remove redundant param provision to should_transcode
2026-05-06 15:30:51 +01:00
Šarūnas Nejus
e574e86887
Replace get_format with command attribute
2026-05-06 15:30:51 +01:00
Šarūnas Nejus
34772d2684
Replace _get_opts_and_config with attributes
2026-05-06 15:30:50 +01:00
Šarūnas Nejus
ee895efd2d
Handle opts using the config
2026-05-06 15:30:10 +01:00
Šarūnas Nejus
b15006ca11
Remove dependency on global config
2026-05-06 15:30:10 +01:00
Šarūnas Nejus
241eb6db09
Fix typing issues
2026-05-06 15:30:10 +01:00
Šarūnas Nejus
33efc2bd19
Add types
2026-05-06 15:30:10 +01:00
Šarūnas Nejus
10d0f37793
Merge branch 'master' into fix/badfiles-quiet-mode
2026-05-02 22:35:41 +01:00
ShimmerGlass
cc63a4e9b9
fix(MusicBrainz): date parsing fix
...
Correctly handle release dates where leading or
intermediate components are missing, e.g. 2008-??-02
2026-05-02 16:26:48 +02:00
Eyüp Can Akman
382ec79fe0
badfiles: address review feedback
2026-05-01 17:01:47 +03:00
Eyüp Can Akman
811593a1ee
badfiles: respect import.quiet during import hook
...
The import hook prompted for input even when quiet mode was active, so
non-interactive imports blocked on the corrupt-file dialog. Return early
from `on_import_task_before_choice` when `import.quiet` is set so the
importer falls back to its summary judgment.
2026-05-01 17:01:47 +03:00
Alok Saboo
e84ce4198a
Revert unrelated docstring reformatting
2026-04-29 08:33:31 -04:00
Alok Saboo
f459edbbd4
Merge upstream master and fix changelog.rst
...
Sync with upstream beets/master and resolve changelog conflict,
keeping only the Spotify batch entry in the Unreleased section.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-28 21:12:30 -04:00
Eyüp Can Akman
88be3023bb
lyrics: handle apostrophes in musixmatch slug
...
The musixmatch URL slug builder did not replace curly apostrophes
(U+2018, U+2019) before applying the whitespace-to-dash rule, so titles
like "If They're Shooting at You" produced a slug with the raw quote
preserved and the lookup failed.
Add a REPLACEMENTS entry that maps both curly quote codepoints to a
dash before the rest of the substitutions run.
2026-04-28 17:27:28 +03:00
Alok Saboo
4ddef8cda6
Merge branch 'master' into spotify_batch
2026-04-26 09:47:58 -04:00
Šarūnas Nejus
343190f04a
Add smartplaylist_update to support events
2026-04-25 20:29:16 +01:00
Šarūnas Nejus
8809de2f7b
Define set_item_uri
2026-04-25 20:29:16 +01:00
Šarūnas Nejus
8c1bda5077
Simplify variables
2026-04-25 20:29:16 +01:00
Šarūnas Nejus
2b70a2982a
Create write_playlist method
2026-04-25 20:29:16 +01:00
Šarūnas Nejus
ca09026864
Move extm3u comment generation to PlaylistItem
2026-04-25 20:29:16 +01:00
Šarūnas Nejus
01172b9e80
Validate output format early
2026-04-25 20:29:16 +01:00
Šarūnas Nejus
50afcea6e9
Simplify get_playlist_items
2026-04-25 20:29:16 +01:00
Šarūnas Nejus
470f30c6b8
Define a function to get playlist items
2026-04-25 20:29:16 +01:00
Šarūnas Nejus
02e593b4a1
Simplify variable handling
2026-04-25 20:29:16 +01:00
Šarūnas Nejus
2e650b9d49
Set playlist_count
2026-04-25 20:29:16 +01:00
Šarūnas Nejus
5c225aa7df
Simplify pretend handling
2026-04-25 20:29:16 +01:00
shara987
24f79fb4cb
zero: fix ruff formatting
2026-04-25 16:28:06 +01:00
shara987
419175ee55
zero: updated comment
2026-04-25 16:28:06 +01:00
shara987
b78ab89d14
zero: fix ruff formatting
2026-04-25 16:28:06 +01:00
shara987
79efb53537
zero:implemented cleaner code for artwork field aliasing
2026-04-25 16:28:06 +01:00
shara987
ba48bf8480
zero: fix ruff formatting
2026-04-25 16:28:06 +01:00
shara987
a0041356cd
zero: treat 'images' and 'art' as aliases in keep_fields
...
Fixes #3532 : when 'images' is listed in keep_fields, embedded album
art was still being removed because the plugin didn't recognize 'art'
as an alias for 'images'. Now both fields are kept when either appears
in keep_fields.
2026-04-25 16:28:06 +01:00
Šarūnas Nejus
556780ea7e
Keep unique ft artists
2026-04-25 16:04:58 +01:00
Alok Saboo
e0aec44aee
Merge branch 'master' into spotify_batch
2026-04-20 18:05:40 -04:00
Sebastian Mohr
eaf1f00424
warning instead of raising errors.
2026-04-20 20:55:47 +02:00
Sebastian Mohr
aa18e2e4e8
Auth flow should open browser if possible.
2026-04-20 20:55:47 +02:00
Sebastian Mohr
7509fca2ca
Moved beets ui import to top.
2026-04-20 20:55:47 +02:00
Sebastian Mohr
55da1cb5a5
Use get_json where applicable and simplified iso 8601 parsing.
2026-04-20 20:55:47 +02:00
Sebastian Mohr
815dce4b3e
renamed hashmaps to *_by_id from *_lookup
2026-04-20 20:55:47 +02:00
Sebastian Mohr
830c14a5bb
Added retry logic to TidalSession and added RequestHandler abstraction
...
to api layer.
2026-04-20 20:55:47 +02:00
Sebastian Mohr
2afa774126
Move auth flow to use requests-oauth.
2026-04-20 20:55:47 +02:00
Sebastian Mohr
2c24b93ca7
Another subset of review comments from @snejus:
...
- Renamed _extract_* methods to _parse_*
- Renamed release to date_parts
- Using .get instead of .request("GET"...)
2026-04-20 20:55:47 +02:00
Sebastian Mohr
b9949ccae5
A subset of review comments from @snejus:
...
- Renamed id to _id
- Aligned line breaks for some comment with actual ruff line length
- Removed comment dividers
- Removed a number of unnecessary or duplicate comments
2026-04-20 20:55:47 +02:00
Sebastian Mohr
ad79dc2047
super requests already raises.
2026-04-20 20:55:47 +02:00
Sebastian Mohr
199d84655b
Added state verify step in authentication function. Not that is needed but
...
a good thing to have.
2026-04-20 20:55:47 +02:00
Sebastian Mohr
a585df514b
Added batching for max filter size.
2026-04-20 20:55:47 +02:00