Commit Graph

3438 Commits

Author SHA1 Message Date
J0J0 Todos
5f94ca79a3 lastgenre: Test empty last.fm result doesnt wipe
Add a test case that proves that issue 5991 is fixed by now.
2026-05-09 09:11:05 +02:00
Šarūnas Nejus
cde2dd139e Merge branch 'master' into fix/mbpseudo-raw-data 2026-05-08 13:38:30 +01:00
Sebastian Mohr
2056cce74b test_hook: Removed capture_log in favor for pytest caplog
Also minor refactor to align with pytest
2026-05-08 13:47:37 +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
b15006ca11 Remove dependency on global config 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
Sebastian Mohr
d6245835f2 test_discogs: Removed capture_log in favor for pytest caplog 2026-04-30 19:56:31 +02:00
Sebastian Mohr
a8db8931b7 test_playcount: Removed capture_log in favor for pytest caplog 2026-04-30 14:41:25 +02:00
Sebastian Mohr
9bae5b8fcb test_autobpm: Removed capture_log in favor for pytest caplog 2026-04-30 14:41:25 +02:00
Šarūnas Nejus
06ffb91022 autotag: move original_date override into AlbumInfo.item_data
Previously, the original_date year/month/day override was applied in
merge_with_album after building the merged dict. Move this logic into
a cached_property on AlbumInfo so album-level metadata also reflects
the original release date. Fixes 🐛`6577`.
2026-04-29 14:40:46 +01: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
ca36df2d00 Fix lambda closure bug in concurrent plugin method execution
Replace inline lambda with named `materialize` helper to correctly
pass plugin method and arguments to the thread executor, preventing
all futures from calling the last plugin only.
2026-04-26 11:55:28 +01:00
Šarūnas Nejus
622d9a9039 Reproduce the issue 2026-04-26 11:55:28 +01:00
Šarūnas Nejus
8809de2f7b Define set_item_uri 2026-04-25 20:29:16 +01:00
Šarūnas Nejus
50afcea6e9 Simplify get_playlist_items 2026-04-25 20:29:16 +01:00
shara987
ba48bf8480 zero: fix ruff formatting 2026-04-25 16:28:06 +01:00
shara987
071c12cc70 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
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
Šarūnas Nejus
9ee86d0e78 Add a test to repro the issue 2026-04-25 15:45:52 +01:00
Alok Saboo
999286a39e Merge branch 'master' into spotify_batch 2026-04-24 09:44:43 -04:00
John Parton
c6ca91d91f Make directories unique by using incrementing integer. 2026-04-22 22:31:36 +01:00
John Parton
79d7a76add Fix error in test. 2026-04-22 22:31:36 +01:00
John Parton
b459ad1fe0 Add variety to suffixes in test. Add explicit test that 'CD01' and 'Enhanced CD02' should not be combined. 2026-04-22 22:31:36 +01:00
John Parton
41c536facc Make test markers more varied. Cover more cases. 2026-04-22 22:31:36 +01:00
John Parton
0b3fa014b5 Reformat py/rst, fix linting/formatting errors. 2026-04-22 22:31:36 +01:00
John Parton
c63bb045ee Allow for vinyl (including 12 vinyl), cassette, and digital media multi-disc releases. 2026-04-22 22:31:36 +01:00
Šarūnas Nejus
ccdccdfa8d Remove slow_test unittest marker 2026-04-22 21:47:16 +01:00
Sebastian Mohr
be057e8bbf Fixed tests 2026-04-22 22:20:01 +02:00
Šarūnas Nejus
2f326b6bdb Remove old cover art instead of keeping it 2026-04-21 22:09:38 +01:00
Šarūnas Nejus
9e48d9b16a Reproduce the issue 2026-04-21 22:09:38 +01:00
Šarūnas Nejus
2e3ca0a018 Handle TEXT path values when migrating relative paths
Some users have manually set paths to TEXT values using sqlite3.
2026-04-21 19:25:11 +01:00
Alok Saboo
98d4431960 Merge branch 'master' into spotify_batch 2026-04-21 11:06:10 -04:00
Matthias De Vriendt
e474194590 Merge branch 'master' into mdv/fix-penalty-display 2026-04-21 08:05:37 +02: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
634b12846f Added tests for the id extractor. 2026-04-20 20:55:47 +02:00
Sebastian Mohr
290837222b Added a few tests for the RateLimitAdapter 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
90e02be5c8 Added tests for candidates and item_candidates. 2026-04-20 20:55:47 +02:00
Sebastian Mohr
1569810427 Added candidate method implementations methods: Required a slight
amount of refactoring but im more happy with the abstraction now.
2026-04-20 20:55:47 +02:00
Sebastian Mohr
a85de2d8fa Implemented batch lookup methods for more efficient retrieval. 2026-04-20 20:55:47 +02:00
Sebastian Mohr
4d6fc9982c Added a number of unit tests for the parsing. 2026-04-20 20:55:47 +02:00