Commit Graph

118 Commits

Author SHA1 Message Date
Trey Turner
617bfd6a92 fix(ftintitle): remove singleton handling as out of scope 2026-07-08 21:53:00 -05:00
Trey Turner
b88390fc32 refactor(ftintitle): abstract ft_in_info into ft_in_title 2026-07-08 21:52:52 -05:00
Trey Turner
a1533350fd refactor(ftintitle): abstract update_item_metadata and update_info_metadata into update_metadata 2026-07-08 21:10:48 -05:00
Trey Turner
98f20aab78 fix(ftintitle): remove and inline _strip_featured_from_field 2026-07-08 21:10:48 -05:00
Trey Turner
9abe96355b fix(ftintitle): defer inclusion of artist_credit, review cleanup 2026-07-08 21:10:48 -05:00
Trey Turner
b6ef2dc119 fix(ftintitle): use Item type and type featured field 2026-07-08 21:10:48 -05:00
Trey Turner
0a8cd49e3d fix(ftintitle): rename to _strip_featured_from_field 2026-07-08 21:10:48 -05:00
Trey Turner
1160d31cfa feat(ftintitle): hook metadata events, fixing mbsync 2026-07-08 21:10:47 -05:00
Sebastian Mohr
54a2bd20e1 Removed This file is part of beets... headers. 2026-06-29 11:20:15 +02:00
Trey Turner
c1de81d59c fix(ftintitle): parenthetical features 2026-06-18 19:47:43 -05:00
Trey Turner
adc2056d87 refactor(ftintitle): cache config options 2026-06-13 10:56:02 +01:00
Šarūnas Nejus
d53ee774a9 Enable and fix flake8-return 2026-06-09 00:14:06 +01:00
Sebastian Mohr
adfb73b66d Run ruff format 2026-05-20 16:53:06 +02:00
duriantaco
577f3926e0 Remove dead code identified by static analysis 2026-03-30 14:09:44 +08:00
Fredrik Möllerstrand
bfd95f47d0 fix: ftintitle can handle a list of ampersanded artists
This was inspired by real life events:
https://musicbrainz.org/release/7c4d7a15-6b30-4bef-8b20-af200186fbdb
by the artist Danny L Harle has a a track with a featuring list
that contains "Danny L Harle, Oklou & MNEK".
2026-03-02 14:53:23 +00:00
Henry Oberholtzer
f7b05cb7db ftintitle: fix changelog conflict 2026-01-08 12:20:25 -08:00
Trey Turner
b14755df88 fix(ftintitle): remaining opportunities for improvement 2026-01-01 15:39:17 -06:00
Trey Turner
c0c7a9df8f fix: line length 2025-12-20 02:34:15 -06:00
Trey Turner
87a61fa8fa Merge branch 'master' into feat/ftintitle/insert_featured_artist_before_variant_clauses 2025-12-20 02:32:06 -06:00
Trey Turner
00792922b5 fix: address remaining review comments 2025-12-20 02:19:54 -06:00
Trey Turner
ef40d1ac53 fix: revert needless whitespace change 2025-12-14 18:19:38 -06:00
Trey Turner
84d37b820a fix: inline default bracket_keywords instead of defining/cloning constant 2025-12-14 18:15:08 -06:00
Matthew Kay
9ba3e12e8f Fix ftintitle plugin to prioritize explicit featuring tokens
- Prioritize explicit featuring tokens (feat, ft, featuring) over generic
  separators (&, and) when splitting artist names
- Prevents incorrect splits like 'Alice & Bob feat Charlie' from splitting
  on '&' instead of 'feat'
- Add test cases to verify the fix
2025-12-10 20:52:37 +00:00
asardaes
9c37f94171 Add album template value in ftintitle plugin 2025-11-21 18:31:59 +01:00
Trey Turner
3051af9eb6 fix: abstract insert_ft_into_title, move bracket_keywords and find_bracket_position inside plugin 2025-11-17 13:04:31 -06:00
Trey Turner
50e55f85f4 fix(ftintitle): prune find_bracket_position docstring 2025-11-17 13:04:31 -06:00
Trey Turner
2aa949e5a0 fix(fitintitle): simplify keyword_pattern using map() instead of list comprehension 2025-11-17 13:04:31 -06:00
Trey Turner
3dd3bf5640 fix: address sourcery comments 2025-11-17 13:04:31 -06:00
Trey Turner
62e1a41ff2 chore(ftintitle): add 'edition' to keyword defaults 2025-11-17 13:04:31 -06:00
Trey Turner
1d239d6e27 feat(ftintitle): Insert featured artist before track variant 2025-11-17 13:04:31 -06:00
Jacob Danell
027b775fcd Change arg name 2025-10-20 15:22:27 +02:00
Ember Light
472aa12767 Add main functionality 2025-10-16 18:49:14 +02:00
Ember Light
b95a17d8d3 remove feat from custom_feat_words 2025-10-12 22:40:27 +02:00
Ember Light
51c971f089 Fix sourcery-ai comments 2025-10-12 21:38:13 +02:00
Ember Light
37a5f9cb15 Add custom feat words 2025-10-12 20:47:51 +02:00
Trey Turner
f0a6059685 feat(FtInTitle): support tracks by artists != album artist 2025-09-21 22:27:11 +01:00
Šarūnas Nejus
b3d434f58f Delegate attribute access to logging 2025-08-30 23:10:21 +01:00
Šarūnas Nejus
e334e81d40 Use item.filepath instead of displayable_path in logging 2025-08-30 23:10:21 +01:00
Šarūnas Nejus
d93ddf8dd4 Do not use explicit indices for logging args when not needed 2025-08-30 23:10:21 +01:00
Šarūnas Nejus
7cada1c9f8 Remove no-op decargs 2025-07-08 11:37:33 +01:00
wisp3rwind
b495286127 ftintitle: flatten code
linear code with early exits instead of more complicated nested
conditionals
2025-04-14 20:50:01 +02:00
wisp3rwind
8413de1a85 ftintitle: add typings 2025-04-14 20:42:59 +02:00
Peter Dolan
447cc82e04 Do not write unchanged items to the library in FtInTitle (#5718)
FtInTitle performs a library store operation for every item it
processes, whether or not the item has changed. By limiting the
`item.store()` call to only those cases when the item has changed, the
plugin’s performance when processing an entire library improves by two
to three orders of magnitude.
2025-04-14 18:22:41 +00:00
Karl Besser
ed627c031c Hardcode for_artist keyword in ftintitle plugin
Remove the optional `for_artist` keyword in the
`ftintitle.contains_feat` function and hardcode it to False, since it is
always used like this in the ftintitle plugin.
2024-09-30 10:24:09 -05:00
Karl Besser
c66eb10445 Fix false positives in "feat. X" detection in ftintitle
The old version of the `ftintitle.contains_feat` function could lead to
false positives by matching words like "and" and "with" in the title,
even if there was no "feat. X" part.
With this commit, the `for_artist` keyword is explicitly passed to the
`plugins.feat_tokens` function to disable these matches when matching a
title (and not an artist).
2024-09-26 17:20:12 -04:00
Šarūnas Nejus
85a17ee503 Reformat the codebase 2024-09-21 11:57:48 +01:00
Karl Besser
218cda0401 Fix missing keep_in_artist option in ftintitle
The newly introduced option to keep the feat. artist in the artist field
when importing with the ftintitle plugin was not passed in one function.
2024-09-20 20:47:10 -04:00
Karl Besser
15d652dbae Update log message for keeping artist in ftintitle
Update the log message when the artist is kept unchanged due to setting
the keep_in_artist option to true.
2024-09-05 12:28:51 +02:00
Karl Besser
c046dc3976 Add new keep_in_artist option for ftintitle plugin
The new keep_in_artist option allows keeping the feat. part in the
artist metadata field while still changing the title.
2024-07-09 23:49:20 -04:00
Serene-Arc
a6e5201ff3 Apply formatting tools to all files
This is 'the big one', which touches every file so that it all conforms
to the given standard.
2023-10-22 09:53:18 +10:00