Commit Graph

4592 Commits

Author SHA1 Message Date
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