Šarūnas Nejus
7c2fb31136
Leave a single chef in the kitchen
2025-01-27 08:50:50 +00:00
Šarūnas Nejus
cb29605bfd
Include class name in the log messages
2025-01-27 08:50:50 +00:00
Šarūnas Nejus
283c513c72
Centralise request error handling
2025-01-27 08:50:49 +00:00
Šarūnas Nejus
06eac79c0d
Centralize requests setup with requests.Session
...
Improve requests performance with requests.Session which uses connection
pooling for repeated requests to the same host.
Additionally, this centralizes request configuration, making sure that
we use the same timeout and provide beets user agent for all requests.
2025-01-27 08:50:49 +00:00
Šarūnas Nejus
c40db1034a
Make lyrics plugin documentation slightly more clear
2025-01-27 08:50:49 +00:00
Šarūnas Nejus
2ff57505d8
Apply dist_thresh to Genius and Google backends
...
This commit introduces a distance threshold mechanism for the Genius and
Google backends.
- Create a new `SearchBackend` base class with a method `check_match`
that performs checking.
- Start using undocumented `dist_thresh` configuration option for good,
and mention it in the docs. This controls the maximum allowable
distance for matching artist and title names.
These changes aim to improve the accuracy of lyrics matching, especially
when there are slight variations in artist or title names, see #4791 .
2025-01-27 08:50:48 +00:00
J0J0 Todos
9d4653f92f
Final lastgenre docstring nitpicks
...
and a tiny docs fix.
2025-01-23 09:04:06 +01:00
J0J0 Todos
2708be257d
Final nitpicks on lastgenre --help wording
2025-01-23 08:32:10 +01:00
J0J0 Todos
2f40b315f4
Add lastgenre --no-force, reword help
2025-01-22 18:39:36 +01:00
J0J0 Todos
24a3394b97
Fix keep-none option, reword help
...
and a tiny hint along the way: clarify that -a is implicit.
2025-01-22 18:39:31 +01:00
J0J0 Todos
f695d463e2
Main variables init in _get_genre()
2025-01-22 18:14:42 +01:00
J0J0 Todos
1b05a1295d
Revert "Further clarify lastgenre log-labels"
...
This reverts commit 8da98e52ee .
since we applied a PR suggestions where this is done in one place.
2025-01-22 18:11:18 +01:00
J0J0 Todos
86e1bd47a4
Single place for whitelist/any log-label suffix
...
Co-authored-by: Šarūnas Nejus <snejus@protonmail.com>
2025-01-22 18:07:43 +01:00
J0J0 Todos
87d9f57e24
In _get_existing_genres ensure empty string ignore
2025-01-22 18:07:43 +01:00
J0J0 Todos
92e84a2b45
Make sure existing genres are ALWAYS looked at
...
first thing. Only if genres are existing and force is disabled we return
early!
2025-01-21 18:06:11 +01:00
J0J0 Todos
6530d76319
Revert "Simplify _get_existing_genres()"
...
This reverts commit 7ff06df17c .
This was here for a reason: Ab empty string genre should als become an
empty list!
2025-01-21 17:44:17 +01:00
J0J0 Todos
4f0837c724
Revert "Include lower-casing in _get_existing already"
...
This reverts commit d5cf376a51 .
2025-01-21 17:21:03 +01:00
J0J0 Todos
44901873f7
Clarify log-label: keep any, no-force
2025-01-21 17:04:03 +01:00
J0J0 Todos
d5cf376a51
Include lower-casing in _get_existing already
...
since we don't use it for early-returning no-force-existing genres
anymore.
2025-01-21 17:04:03 +01:00
J0J0 Todos
8da98e52ee
Further clarify lastgenre log-labels
...
state if whitelist was applied or any genre is accepted.
2025-01-21 17:04:03 +01:00
J0J0 Todos
6e6a0ad9a9
Return empty tuple instead of disabling type issue
2025-01-21 17:04:03 +01:00
J0J0 Todos
c9187b40bd
Don't uselessly split/join early returned genres
2025-01-21 17:04:03 +01:00
J0J0 Todos
169ec20a2f
Remove unused _polish_existing_genres
2025-01-21 17:04:03 +01:00
J0J0 Todos
3cc2a5e2c6
Fix Tuple with tuple in sources property
2025-01-21 17:04:03 +01:00
J0J0 Todos
5d94eb3e13
Fix _get_genre docstring
2025-01-21 17:04:03 +01:00
J0J0 Todos
7ff06df17c
Simplify _get_existing_genres()
...
Co-authored-by: Šarūnas Nejus <snejus@protonmail.com>
2025-01-21 17:04:03 +01:00
J0J0 Todos
c3f0abd61c
Fix docstring _resolve_genres
...
Co-authored-by: Šarūnas Nejus <snejus@protonmail.com>
2025-01-21 17:04:03 +01:00
J0J0 Todos
bb3f9c53c2
lastgenre new defaults, remove config sanity check
2025-01-21 17:04:03 +01:00
J0J0 Todos
ca5e471f05
Refactor again _last_lookup
2025-01-21 17:04:03 +01:00
J0J0 Todos
ec10507fab
Return as-is if no-force
2025-01-21 17:04:03 +01:00
J0J0 Todos
6e3f5b3127
Fix type hints, Refactor existing genres method
...
- Rename method _dedup_genre, since it's only used for
finalizing/polishing existing genres.
- Return separator-delimited string already.
- Decide on not passing "separator" to methods, it's a config
setting available throughout the plugin. Assign to variable where
useful for readability though.
- In the force branch, remove re-assigning keep_genres to empty list.
- Fix a test. Existing genres are "polished" now, which means:
configured title_case is applied.
- Fix/add type hints on all touched and new methods
2025-01-21 17:04:03 +01:00
J0J0 Todos
ed68bc019b
Refactor _get_genre, simplify _combine_genre
2025-01-21 17:04:03 +01:00
J0J0 Todos
4580757c8e
Simplify _last_lookup()
...
f-string, list comprehension, remove redundant vars.
2025-01-21 17:04:03 +01:00
J0J0 Todos
f16e671ff6
Simplify _get_genre keep_existing conditional
...
- If the keep_existing option is set, just remember everything for now.
- Dedup happening later on via _combine... _resolve_genres...
- Even knowing if whitelist or not is not important at this point.
2025-01-21 17:04:03 +01:00
J0J0 Todos
f698f21a28
Ensure _resolve returns list, add type hint
...
Prevents potential type erros when handing over to
_to_delimited_genre_string.
2025-01-21 17:04:03 +01:00
J0J0 Todos
d358a24ed9
Remove redundant unique_list call in _combine
...
and clarify in _resolve_genre docstring.
2025-01-21 17:04:02 +01:00
J0J0 Todos
2a80a10aa8
Use util.unique_list in fav of deduplicate
2025-01-21 17:04:02 +01:00
J0J0 Todos
79b5379dce
Refactor and rename _is_valid() helper
2025-01-21 17:04:02 +01:00
J0J0 Todos
e1fe6fd3d0
Prevent album genre inherit only when source:track
...
is configured.
2025-01-21 17:04:02 +01:00
J0J0 Todos
bd0c02437a
Apply temp logging leftover review suggestions
...
Useless variables that only were introduced for temporary debug logging
while refactoring earlier. Get rid of them.
Co-authored-by: Šarūnas Nejus <snejus@protonmail.com>
2025-01-21 17:04:02 +01:00
J0J0 Todos
b476560d76
Integrate _format_tag in _to_delimited_...
...
optimize by checking for config once and simplify tags list slicing.
Remove _format_tags method.
Co-authored-by: Šarūnas Nejus <snejus@protonmail.com>
2025-01-21 17:04:02 +01:00
J0J0 Todos
593f5460b6
Apply type hint suggestions from review
...
Co-authored-by: Šarūnas Nejus <snejus@protonmail.com>
2025-01-21 17:04:02 +01:00
J0J0 Todos
6b41743b91
Polish 'fetched last.fm tags' debug message
...
The best place to log what we actually fetched from last.fm seems to be
here in _combine_and_label_genres. Leave out the existing genres we also
receive in this function - less is more.
2025-01-21 17:04:02 +01:00
J0J0 Todos
8d43517a71
Remove all lastgenre temporary debug logging
2025-01-21 17:04:02 +01:00
J0J0 Todos
847b7260b4
Fix most popular track genre fetching (VA albums)
2025-01-21 17:04:02 +01:00
J0J0 Todos
1aca3989d7
Fix previous temp log messages
2025-01-21 17:04:02 +01:00
J0J0 Todos
da98d37632
Temporary debug messages in _sort_by_depth
2025-01-21 17:04:02 +01:00
J0J0 Todos
a717998587
Add a temporary log around whitelist setup
2025-01-21 17:04:02 +01:00
J0J0 Todos
37fc1b6b7f
Final lastgenre plugin linting
2025-01-21 17:04:02 +01:00
J0J0 Todos
13ae699230
Fix _dedup_genre, ensure lower case
...
otherwise deduplicate() can't handle it.
2025-01-21 17:04:02 +01:00