Šarūnas Nejus
3e9ea8ebe8
Refactor template evaluation to handle format strings ONLY
...
- Handle formats as strings ONLY and evaluate them through a shared
cached template helper.
- This removes the need for conditional logic that acts on Template
objects or strings.
2026-07-03 09:56:39 +01:00
Sebastian Mohr
54a2bd20e1
Removed This file is part of beets... headers.
2026-06-29 11:20:15 +02:00
Alok Saboo
60d60eacfb
Merge branch 'master' into tidal-coverart
2026-06-27 10:11:11 -04:00
Šarūnas Nejus
609f83e338
tidal: Add missing return types in TidalPlugin
2026-06-27 09:20:38 +01:00
Šarūnas Nejus
3171334f4d
Add docs
2026-06-27 09:03:36 +01:00
Šarūnas Nejus
ccccdef8b8
Extract shared Tidal attributes type
...
- Factor common album and track Tidal fields into a shared
MediaAttributes TypedDict.
- Use the shared type in parser helpers that only need common Tidal
metadata.
2026-06-27 09:03:36 +01:00
Sebastian Mohr
4e6e49d9c2
Removed a return. Still a bit complicated but
...
I don't think there is a way to further optimize.
2026-06-24 14:13:57 -04:00
Alok Saboo
01b12dca3b
rename CoverArt types to Artwork to match Tidal API
2026-06-24 14:10:11 -04:00
Alok Saboo
26d90bbcfa
make cover_art_by_id required and remove broken fallback URL
2026-06-24 14:10:10 -04:00
Alok Saboo
d26cfdedbc
fix cover art types and parsing to match API response
2026-06-24 14:03:58 -04:00
Alok Saboo
28fa210422
tidal: fix mypy docref and dict access
...
- Fix mypy: avoid {} default in relationships.get() that creates Never type
- Fix doc build: use :doc:\etchart\ instead of :doc:\plugins/fetchart\ from within plugins/ directory
2026-06-24 14:03:58 -04:00
Alok Saboo
23d4edc4d7
tidal: fix mypy errors in cover art parsing
...
- Make CoverArtAttributes.url NotRequired
- Use direct index access on TypedDict instead of .get() to avoid mypy Never-type inference
2026-06-24 14:03:58 -04:00
Alok Saboo
659ee7df0b
add cover art support
2026-06-24 14:03:56 -04:00
Šarūnas Nejus
f0105bef73
Add missing types to beets.util.pipeline
2026-06-24 16:53:34 +01:00
Šarūnas Nejus
8fe9c2e576
Set albumtypes instead of albumtype
2026-06-24 16:44:10 +01:00
Šarūnas Nejus
368d2c0a6d
Normalize albumtype
2026-06-24 16:44:10 +01:00
Pierre Ayoub
c941a6b5c9
refactor(convert): Use cached_property for refresh option
...
- Fix snejus comment from 2026-06-23
2026-06-24 13:01:00 +02:00
Pierre Ayoub
1cc28d21fe
refactor(convert): Merge redundant checks
2026-06-24 13:00:59 +02:00
Pierre Ayoub
9afdda5774
style(convert): Simplify logic
...
This is a suggestion from ruff linting: get rid of the redundant `else`
after the `return`.
2026-06-24 13:00:59 +02:00
Pierre Ayoub
f7e8dcc25e
chore(convert): Format
2026-06-24 13:00:59 +02:00
Pierre Ayoub
7d178f7d48
fix(convert): Get default value for refresh from config
2026-06-24 13:00:59 +02:00
Pierre Ayoub
a4d1bbd705
fix(convert): continue -> return
...
This continue comes from a rebase, when the convert_item were using a
while loop. Now we just have to go out of the function!
2026-06-24 13:00:59 +02:00
Pierre Ayoub
baac0cb503
chore(convert): Poe format
2026-06-24 13:00:58 +02:00
Pierre Ayoub
2d8af30455
style(convert): Consistent usage of original vs. item.path variables
...
Except for the `keep_new` mechanism, it is not useful to use the `original`
variable which is equal to the `item.path` variable. Since refresh only
makes sense when `keep_new` is false, only use for the pair of `item.path`
and `dest` variables for clarity (and not `original` and `converted`
variables).
2026-06-24 13:00:58 +02:00
Pierre Ayoub
a0f144d49c
refactor(convert): Better logic to handle both refresh and keep_new features
...
- Implement @snejus comment from the 2026-04-19
- This change the silent no-op when both refresh and keep_new are used
to proper logging messages depending on what combination of option is
used
- Also harmonize the usage of terms "target" and "destination" between
logging messages
2026-06-24 13:00:58 +02:00
Pierre Ayoub
89cbb19662
style(convert): Harmonize logging message when using pretend for refresh feature
...
- Also hamonize the logging message about moving files from `keep_new`
when using `pretend`
- According to snejus comment from 2025-07-06
2026-06-24 13:00:58 +02:00
Pierre Ayoub
03f56ea889
style(convert.py): fix ruff complain
2026-06-24 13:00:58 +02:00
Pierre Ayoub
a4eaec7445
fix(convert.py): fix missing syntax + format using ruff
2026-06-24 13:00:58 +02:00
Pierre Ayoub
4cac4e5031
refactor(convert): factorize multiple logic tests
...
Nest and combine some logic tests by:
1. Only check for destination file existence once.
2. Use `original` instead of `item.path` in the `refresh` conditional
such that this option will be compatible with `keep_new`.
2026-06-24 13:00:57 +02:00
Pierre Ayoub
baefd71981
refactor(convert.py): remove uneeded util.syspath() calls
...
- `util.syspath` is redundant because already called in `util.normpath`
itself called in Item class
Co-authored-by: Šarūnas Nejus <snejus@protonmail.com >
2026-06-24 13:00:57 +02:00
Pierre Ayoub
17957337d2
refactor(convert.py): simplify logic and redundant function
...
- Logic refactoring
- `util.syspath` is redundant because already called in `util.remove`
Co-authored-by: Šarūnas Nejus <snejus@protonmail.com >
2026-06-24 13:00:57 +02:00
Pierre Ayoub
e7e07e290f
style(convert.py): no newline
...
Co-authored-by: Šarūnas Nejus <snejus@protonmail.com >
2026-06-24 13:00:57 +02:00
Pierre Ayoub
3e9fb4ead8
[beetsplug/convert] Run ruff format
2026-06-24 13:00:57 +02:00
Pierre Ayoub
aa1e4c7ba2
[beetsplug/convert] Fix linting error trailing whitespace
2026-06-24 13:00:57 +02:00
Pierre Ayoub
04f90cd9f1
[beetsplug/convert] Fix linting error Ruff (E501)
2026-06-24 13:00:56 +02:00
Pierre Ayoub
072f469028
Implement the convert.refresh configuration option
2026-06-24 13:00:56 +02:00
Pierre Ayoub
93e3bd17ca
Implement the --refresh/-r command line option for convert's new feature
2026-06-24 13:00:56 +02:00
Pierre Ayoub
e06161ffd8
Implement the refresh behavior for convert command
2026-06-24 13:00:56 +02:00
Sebastian Cao
755ca6f139
convert: skip missing album art instead of crashing
2026-06-24 16:45:23 +08:00
Blake Hakkila
ecad4811c6
Merge branch 'master' into rest-directory-config
2026-06-20 17:20:18 -07:00
Sebastian Mohr
c71ac00f00
Fix auth URL not printed in environments without a
...
configured browser
2026-06-20 14:01:44 +02:00
Sebastian Mohr
a9f715a19a
Seems like the spotify query format does not accept double quotes (") for
...
escaping but needs single quotes (').
2026-06-20 13:21:35 +02:00
Blake Hakkila
05ecfc8bc6
Merge branch 'master' into rest-directory-config
2026-06-19 15:18:28 -07:00
Alok Saboo
4e60f86dae
Merge branch 'master' into tidal
2026-06-19 09:42:54 -04:00
Sebastian Mohr
379bbebbf1
Reverted attributes change. Not really in scope here and needs a bit more
...
refactoring to be consistent.
2026-06-19 10:39:14 +02:00
Šarūnas Nejus
cf73922cc6
Undo unrelated changes
2026-06-19 10:36:31 +02:00
Trey Turner
c1de81d59c
fix(ftintitle): parenthetical features
2026-06-18 19:47:43 -05:00
Blake Hakkila
6080faf5dc
Merge branch 'master' into rest-directory-config
2026-06-17 16:07:18 -07:00
Šarūnas Nejus
e4baceae1f
Add missing types to importer
2026-06-17 21:42:42 +01:00
Alok Saboo
81ce9b4481
simplify shared attribute typing
2026-06-17 14:03:53 -04:00