wisp3rwind
03ce35f4d3
art: whitespace/comment improvements
2022-02-12 23:10:22 +01:00
wisp3rwind
2fa37aa22b
artresizer: return None explicitly
...
`None` is used both as a marker when errors occured, and when a function
is not implemented by the backend. That is already confusing enough
without there being implicit `None` return values when falling of the
tail of a method
2022-02-12 22:59:52 +01:00
wisp3rwind
fa967f3efc
artresizer: add a comment
2022-02-12 22:59:25 +01:00
wisp3rwind
0125b1cd42
artresizer: in backends, always use the appropriate ArtResizer instance
...
This didn't cause any issues since we only use the shared instance
anyway, but logically it doesn't make a lot of sense for the backends
always using ArtResizer.shared (which they should be oblivious of).
2022-02-12 22:45:22 +01:00
wisp3rwind
8ca19de6bc
artresizer: switch ImageMagick compare commmand depending on IM version
...
similar to other commands
Fixes #4272
2022-02-12 22:45:22 +01:00
wisp3rwind
a17a5f2fa6
art: move the backend-specific code to util.artresizer
...
all the other backend-specific code is already there.
2022-02-12 22:45:19 +01:00
wisp3rwind
890662f93d
artresizer: don't manually cache can_compare
...
it's only computed once on startup anyway (see the embedart plugin,
which is the only user)
2022-02-12 17:41:47 +01:00
wisp3rwind
497b916062
artresizer: import *path helpers directly
...
shortens lines a bit, and should pose no problem for understanding the
code given the prevalence of these functions in our code
2022-02-12 17:35:18 +01:00
Adrian Sampson
d0a5f812fd
Merge pull request #4273 from afontenot/embed-art-maxsize
...
Resize album art when embedding (convert plugin)
2022-02-10 11:35:49 -05:00
Adam Fontenot
07eb26f276
Resize album art when embedding (convert plugin)
...
Fixes #2116
2022-02-09 23:52:21 -08:00
Adrian Sampson
debbe4efa5
Merge pull request #4263 from wisp3rwind/pr_better_deprecation_warning
...
confit: Improve deprecation warning
2022-02-02 10:38:46 -05:00
Adrian Sampson
85ec22ba16
Merge pull request #4264 from wisp3rwind/pr_fix_reraise_again
...
test_replaygain: fix exception handling again
2022-02-02 10:32:58 -05:00
wisp3rwind
ef59465869
test_replaygain: fix exception handling again
...
This is the same as d26b0bc1 , which I reintroduced again in a new test
due to a botched rebase...
2022-02-01 21:39:42 +01:00
wisp3rwind
cc8c3529fb
confit: Improve deprecation warning
...
Show the actual origin of the import statement, cf. #4024
2022-02-01 19:10:24 +01:00
Benedikt
b37ef0e496
Merge pull request #4262 from wisp3rwind/pr_lyrics_tests
...
Improve lyrics tests
2022-02-01 18:59:19 +01:00
wisp3rwind
0cc4521372
tests: allow passing the INTEGRATION_TEST variable from the commandline
...
this allows to run
INTEGRATION_TEST=1 tox -e <env> test/test_<module>.py
which is very useful when testing locally. Otherwise, tox will clean the
environment, such that INTEGRATION_TEST will not be passed to the test
runner.
2022-01-31 21:07:28 +01:00
wisp3rwind
c86d5d0264
lyrics: Rework lyrics assertions for more useful output on failure
...
Uses a custom assertion to have more detailed output (which should help
with getting an idea what the difference between expected and actual
lyrics is), and use `subTest` to clearly associate test failure to a
backend.
In addition, this strip parenthesis from the lyrics' words. That helps
with the currently failing Tekstowo test, but doesn't entirely fix it.
Requires Python 3.4 for subTest.
2022-01-31 21:07:28 +01:00
Adrian Sampson
51e478ed1d
Merge pull request #4259 from mklein-de/zsh-complete-convert-destination
...
zsh completion: handle destination for "convert"
2022-01-30 16:35:13 -05:00
Michael Klein
a903e6649a
zsh completion: handle destination for "convert"
...
Use directory name completion for -d/--dest option.
2022-01-30 18:22:42 +01:00
Benedikt
10338c2a60
Merge pull request #4258 from beetbox/rectify-4226
...
convert: Revert some recent changes to convert-on-import path
2022-01-30 11:30:48 +01:00
Adrian Sampson
2b51b2443b
Remove a relevant test
2022-01-29 18:35:36 -05:00
Adrian Sampson
0788197c76
Remove a relevant changelog entry
2022-01-29 18:33:10 -05:00
Adrian Sampson
088cdfe995
Revert some of #4226
...
Rectify a couple of things in that PR, pointed out here:
https://github.com/beetbox/beets/pull/4226#issuecomment-1011499620
- Undo the `pretend` sensitivity in the import path, because it's not
clear how this setting could ever be true.
- Preserve the log message in debug mode, even when quiet.
2022-01-29 18:31:48 -05:00
Adrian Sampson
19e4f41a72
Merge pull request #4251 from rcrowell/query_prefixes
...
Add query prefixes :~ and :=
2022-01-26 07:51:23 -05:00
Rob Crowell
2cab2d670a
Fix bug in StringQuery.string_match
2022-01-25 16:24:04 -08:00
Rob Crowell
6457532274
Add query prefixes :~ and :=
2022-01-24 19:19:48 -08:00
Benedikt
404229b845
Merge pull request #3996 from wisp3rwind/pr_rg_restructure
...
Refactoring of the replaygain plugin
2022-01-22 14:45:30 +01:00
wisp3rwind
6ddf2fa006
replaygain: update changelog for 3eb49fca
2022-01-22 14:01:13 +01:00
wisp3rwind
8572e9bcec
replaygain: add docstrings
2022-01-22 14:00:32 +01:00
wisp3rwind
d19cc593e3
replaygain: better types to represent peak methods
...
thanks @ybnd in review https://github.com/beetbox/beets/pull/3996 for
this suggestion to properly represent the sum type
2022-01-22 14:00:32 +01:00
wisp3rwind
fd7919e627
replaygain test: add basic importer test
2022-01-22 14:00:32 +01:00
wisp3rwind
676c8fe45e
replaygain test: add r128 targetlevel test
2022-01-22 14:00:32 +01:00
wisp3rwind
e8960501f2
replaygain test: extend tests for skipping items
...
Test more combinations of tags that might initially be present and
expected tags. The R128 codepath and the case of having the wrong type
of tags wasn't really tested before.
2022-01-22 14:00:32 +01:00
wisp3rwind
1442594e5b
replaygain test: reorganize backend handling
...
in an attempt to make it simpler to add new test classes
2022-01-22 14:00:32 +01:00
wisp3rwind
80f7c58e5a
replaygain test: add basic per_disc testcase
...
The per_disc codepath is currently not exercised at all by the tests.
This test is not very meaningful, but better than nothing.
2022-01-22 14:00:32 +01:00
wisp3rwind
81396412ef
replaygain test: add album fixtures in individual tests instead of setUp
...
preparation for adding more tests that want different fixtures
2022-01-22 14:00:32 +01:00
wisp3rwind
ad4c68112f
test helper: add support for multi-disc album fixtures
2022-01-22 14:00:32 +01:00
wisp3rwind
c0af86c04a
replaygain tests: remove duplicated function
...
Not sure how this got here, the git blame doesn't make a lot of sense..
maybe an incorrect merge commit?
2022-01-22 14:00:32 +01:00
wisp3rwind
ea0d905b22
replaygain tests: remmove duplicate store()
...
probably leftover from debugging database issue
2022-01-22 14:00:32 +01:00
wisp3rwind
a2df6df9da
replaygain: store_track, store_album are methods on *Task
...
Also, add a convenience function `store()` that dispatches two the
either of the two methods. This will be useful later, when rewriting the
parallel code (but doesn't simplify the code now).
2022-01-22 14:00:32 +01:00
wisp3rwind
9ead9cdbb8
replaygain: pass the write flag explicitly
...
The variable was previously captured by the closure. This is in
preparation for moving these nested functions elsewhere.
2022-01-22 14:00:32 +01:00
wisp3rwind
ad75cbf4a5
replaygain: Flatten data structures
...
Now that we have the *Task objects, the AlbumGain tuple can be removed.
2022-01-22 14:00:32 +01:00
wisp3rwind
67d85d18ad
replaygain: introduce Task objects to bundle the state related to computations
...
Renames *GainHandler -> *Task and instead of having a singleton
instance, creates a *Task object for each album/item to process. The
advantage is that now, related data can be bundled in the instance,
instead of passing multiple arguments around.
2022-01-22 14:00:32 +01:00
wisp3rwind
ae3e95f9d3
replaygain: Convert the ad-hoc tag_specific_values to classes
...
The plugin has loads of indirection and nested functions which make it
really hard to reason about. The larger picture here is that I'd like to make
the code more manageable before reworking the parallelism issues.
In particular, instead of manually implementing an interface using a
function that returns a tuple of function pointers, this commit creates proper
classes. Again, no functionality is changed, this only moves code
around.
2022-01-22 14:00:32 +01:00
wisp3rwind
edf2bda1ce
replaygain: store backend name as class attribute
...
Doesn't change any functionality, but appears a little cleaner to me.
2022-01-22 14:00:32 +01:00
wisp3rwind
96025c6de6
replaygain: avoid determining the method again and again
2022-01-22 14:00:32 +01:00
wisp3rwind
3eb49fca2e
replaygain: clarify docs for overwrite/force and actually respect it correctly
...
The code used to always check the 'overwrite' config value, while that
should only apply during imports. The manual 'replaygain' command has it's
own '-f' flag.
The logic for this flag was changed quite a few times recently, see
https://github.com/beetbox/beets/pull/3816
https://github.com/beetbox/beets/issues/3872
https://github.com/beetbox/beets/pull/3890
but apparently we (me and @ybnd) never really got it right...
If it is some comfort, the logic was never correct in the first place.
2022-01-22 14:00:32 +01:00
wisp3rwind
6689502854
replaygain: rewrite long conditionals in a more imperative manner (2/2)
...
This is significantly easier to parse (for me, at least).
Also, void building some lists inside of any(...) in the process.
2022-01-22 14:00:32 +01:00
wisp3rwind
356a775c5e
replaygain: rewrite long conditionals in a more imperative manner (1/2)
...
This is significantly easier to parse (for me, at least).
Also, void building some lists inside of any(...) in the process.
2022-01-22 14:00:32 +01:00
Benedikt
2744e593f6
Merge pull request #4244 from wisp3rwind/pr_fix_reraise
...
Fix exception handling in tests
2022-01-20 23:41:33 +01:00