beets/test
Guy Bloom 2bd77b9895
Fix convert --format with never_convert_lossy_files (#6171)
## Description

Fixes #5625 

When `convert.never_convert_lossy_files` is enabled, `beet convert` was
ignoring the explicit `--format` option and just copying the lossy files
without
transcoding them. For example:

- `beet convert format:mp3 --format opus`

would still produce MP3 files instead of OPUS.

Change:

- Allows to override options `never_convert_lossy_files`, `max_bitrate`
or `no_convert` for `beet convert` as well as trying to convert to the
same format as existing already with a new option `--force`. That way,
for example lossy files selected by the query are transcoded to the
requested format anyway.
- Keeps existing behavior for automatic conversion on import (no CLI
override there).
- Adds tests to cover checking whether `--force` correctly overrides
settings or CLI options.
- Documents the behavior in the convert plugin docs

Co-authored-by: J0J0 Todos <jojo@peek-a-boo.at>
2025-12-03 22:48:41 +01:00
..
autotag Added test additions 2025-10-14 19:55:50 +02:00
plugins Fix convert --format with never_convert_lossy_files (#6171) 2025-12-03 22:48:41 +01:00
rsrc Add tests for mbpseudo plugin 2025-11-01 13:51:34 +01:00
ui Merge remote-tracking branch 'upstream/master' into HEAD 2025-11-06 20:11:57 -05:00
util Move human formatting functions under beets.util.units 2025-07-06 16:09:50 +01:00
__init__.py Remove unused imports 2021-08-26 20:59:48 +10:00
conftest.py Improve visibility of Distance tests failures 2025-10-10 20:36:33 +01:00
test_art_resize.py Replace string concatenation (' + ') 2025-08-30 23:10:15 +01:00
test_autotag.py Move distance to a separate module 2025-05-31 19:17:43 +01:00
test_datequery.py Replace string concatenation (' + ') 2025-08-30 23:10:15 +01:00
test_dbcore.py style: remove extraneous pass statements 2025-09-19 21:11:51 +01:00
test_files.py reflink() doesn't take Path parameters 2025-11-23 13:50:57 -04:00
test_hidden.py Fix duplicate database change event send on Library.add (#5561) 2025-05-30 13:41:29 +00:00
test_importer.py importer: provides search_ids into lookup_candidates explicitly 2025-07-16 14:06:33 +01:00
test_library.py Replace percent formatting 2025-08-30 22:35:00 +01:00
test_logging.py fix: Sanitize log messages by removing control characters 2025-12-02 15:27:24 +05:00
test_m3ufile.py Reformat the codebase 2024-09-21 11:57:48 +01:00
test_metasync.py Reformat the codebase 2024-09-21 11:57:48 +01:00
test_pipeline.py pipeline: remove old tests, integrate with out test suite 2025-05-06 14:51:20 +02:00
test_plugins.py Move PromptChoice to beets.util module 2025-12-02 01:51:14 +00:00
test_query.py Refactor test_query 2025-07-06 16:15:30 +01:00
test_release.py Update release conversion logic accordingly 2025-08-10 16:25:05 +01:00
test_sort.py pyupgrade Python 3.10 2025-11-08 12:09:52 +00:00
test_template.py Fix formatting 2025-05-07 10:41:01 +01:00
test_types.py Add NullPathType and types to PathType 2025-07-06 16:09:49 +01:00
test_util.py Simplify and speed up plurality/album tags retrieval tests 2025-05-31 19:17:42 +01:00
testall.py Remove def suite TestLoader definitions 2024-07-28 18:58:51 +01:00