Adrian Sampson
c15ccb16bf
Merge pull request #4900 from fracai/4326-scrub-no-rewrite
...
4326 scrub should not restore on import if "write" is disabled
2023-09-16 12:47:07 -04:00
Arno Hautala
5c34db565c
must unload_plugins() during teardown after load_plugins() during setup
2023-09-12 20:09:59 -04:00
Arno Hautala
e91a56d180
fix tests
2023-09-11 12:03:25 -04:00
Arno Hautala
8defbe4093
scrub on import tests
2023-09-10 19:03:13 -04:00
Jesse Bannon
f72261e44f
Add support for artists and albumartists multi-valued tags ( #4743 )
...
Adds the following fields with id3v2.4 multi-valued tag support to autotag:
- artists, artists_sort, artists_credit
- albumartists, albumartists_sort, albumartists_credit
- mb_artistids, mb_albumartistids
MusicBrainz support to populate + write the above multi-valued tags by default. Can be toggled to use id3v2.3 or id3v2.4 tags via the existing beets configuration option `id3v23`.
Big thanks to @JOJ0, @OxygenCobalt, @arsaboo for testing + @sampsyo for the initial code review .
2023-09-09 09:46:26 +02:00
wisp3rwind
9af9eb9b31
tests: make use of our custom filesystem assertions for conciseness
...
this replaces assertions of the form
self.assertTrue(os.path.exists(syspath(path)))
by
self.assertExists(path)
which includes the syspath conversion and is much easier to read.
Occurences where located using
git grep -E 'assert(True|False).*(isdir|isfile|exist)'
2023-07-16 10:42:47 +02:00
Adrian Sampson
16a30f4d74
Merge pull request #4714 from TypicalFence/gh-654
...
resolve transl-tracklisting relations for pseudo releases
2023-06-26 14:40:28 -07:00
wisp3rwind
1ef6b90786
add missing syspath conversions (1/3, tests)
...
these are mostly in the tests, which didn't cause issues since the
affected directories usually have nice ASCII paths. For consistency, it
is nicer to always invoke syspath. That also avoids deprecation warnings
for the bytestring interfaces on Python <= 3.5. The bytestring
interfaces were undeprecated with PEP 529 in Python 3.6, such that we
didn't observe any actual failures.
2023-06-24 14:52:46 +02:00
fence
dccc62443d
fix tests
2023-06-19 20:13:16 +02:00
wisp3rwind
5de1d12610
tests: address some warnings
...
- some helper functions were incorrectly detected as being tests due to
their name
- use of the deprecated assertEquals alias
2023-05-07 18:43:43 +02:00
J0J0 Todos
efc88193f9
Add test_reimported_album_not_preserves_flexattr
...
Checks if a reimported album flexible attribute "data_source" will be updated
correctly from the match being applied.
2023-04-11 07:11:20 +02:00
Adrian Sampson
1054b729d3
Merge branch 'master' into duplicate
2022-08-21 10:34:15 -07:00
Adrian Sampson
3c945cba0c
Change config key from "single" to "item"
...
For consistency with the rest of the terminology in the docs/config.
Also, correct the documentation (which previously only covered albums).
2022-08-21 10:31:45 -07:00
Adrian Sampson
7af40db050
Merge branch 'master' into formatted-modify
2022-08-20 16:37:52 -07:00
Adrian Sampson
c5e68f5643
Adapt to pycodestyle changes
2022-07-30 19:54:24 -04:00
Julien Cassette
7633465734
Add duplicate_keys feature for singletons
2022-01-22 22:36:47 +01:00
Julien Cassette
f50d250c4a
Review duplicate_keys feature
2022-01-22 16:49:45 +01:00
Julien Cassette
6ce29a6b1b
Allow to use flexible attributes in duplicate_keys
2022-01-22 15:00:18 +01:00
wisp3rwind
807f124ef8
really remove all six imports
...
apparently, pyupgrade didn't know how to handle these...
2022-01-20 00:26:01 +01:00
Duncan Overbruck
819ba735bd
allow templates/formatting of set_fields on import
2021-10-27 00:28:23 +02:00
Andrew Rogl
1ec87a3bdd
pyupgrade beetsplug and tests
...
All tests working
More tidy up to be done
2021-08-26 19:12:51 +10:00
Bert Besser
8dc960b1f6
fix: formatting
2021-05-14 10:19:59 +02:00
Bert Besser
e98f78e29b
fix: transactions and stricter tests
2021-05-13 15:09:55 +02:00
bertbesser
a25a2a6cbb
Merge branch 'master' into set-fields-persist-to-tracks
2021-05-13 07:38:26 +02:00
Andrew Rogl
533559136e
Add 7z file support #3906
2021-05-07 22:04:46 +10:00
Bert Besser
9cbbc35a95
persist set_fields to media files
2021-05-06 19:55:12 +02:00
x1ppy
19d6dfc8f3
Support extra tags for MusicBrainz queries
2020-03-20 14:13:40 -04:00
Carl Suster
10d41a1cbb
tests: avoid non-test classes named Test*
...
When using pytest's test collector, any class with a name starting with
Test is collected. If it notices that the class has an `__init__` member
then it skips it with a warning since it's probably a false positive.
This isn't a big deal, but we can avoid warnings like this:
test/test_ui_importer.py:33
beets/test/test_ui_importer.py:33: PytestCollectionWarning: cannot collect test class 'TestTerminalImportSession' because it has a __init__ constructor
class TestTerminalImportSession(TerminalImportSession):
simply by renaming TestX to XFixture.
2019-06-02 16:35:37 +10:00
Carl Suster
546bf3af7e
mediafile: import from standalone module
2019-05-29 09:35:14 +10:00
Zsin Skri
77242d6b2b
add test: from_scratch only removes writeable
...
Tests for commit ba8fcdfd from_scratch import: only remove writable fields.
2018-07-01 20:23:41 +02:00
Jérémie Detrey
f74899ab9a
Fix errors due to missing track['id'] in unit tests.
2018-04-30 18:26:06 +02:00
tummychow
e848adab04
Implement from_scratch option
...
Fixes #934 , and also helps with #1173 .
2017-12-07 14:46:40 -05:00
Meet Udeshi
70f0bc5b6c
Implement album merging for duplicates
...
Fixes #112
2017-11-01 02:00:48 +05:30
Bart Kleijngeld
762f9ca054
revised to fix flake8 warnings
2017-06-13 14:33:08 +02:00
Bart Kleijngeld
c64878179e
finished tests for set_fields on importer
2017-06-01 11:57:24 +02:00
Jacob Gillespie
1fd22604fb
Fix linter issues
2017-02-19 17:33:26 -06:00
Jacob Gillespie
b4efecb709
Add option to hardlink when importing
2017-02-19 15:56:13 -06:00
Mike Cameron
3f67a27989
Fixed failing test because mocked data was missing property
...
umber.
2017-01-10 18:21:28 -05:00
Adrian Sampson
a88682e7bb
Undo from _common import unittest indirection
...
This was a vestige from when we used to need the unittest2 library for pre-2.7
compatibility. Now that we require Python 2.7, we aren't using that library
and this indirection wasn't doing any good.
2016-11-26 18:46:44 -05:00
Johnny Robeson
7a2bdf502f
s/utf8/utf-8/ in all encoding/decoding contexts
...
This matches up with the python documentation.
2016-09-06 23:10:24 -04:00
Jesse Weinstein
92d008b155
Fix overlength lines
2016-07-24 12:11:35 -07:00
Jesse Weinstein
e5a723b899
Switch test_importer over to use @patch
2016-07-22 23:35:33 -07:00
Johnny Robeson
f9dfd34602
use py3_path for archive (ZipFile, etc) filenames
...
ZipFile and RarFile both only accept string filenames on py3, not
bytestrings.
2016-07-10 01:53:24 -04:00
Johnny Robeson
53d1dc905f
add a missing bytestring_path in importer test
2016-07-05 01:33:43 -04:00
Johnny Robeson
02680eba59
bytestringify a few more paths in test_importer
2016-07-02 01:52:00 -04:00
Johnny Robeson
5f4678e3e8
use StringIO from six
2016-06-23 04:40:18 -04:00
Adrian Sampson
5909c9ee89
Fix #2051 : don't try to sort None
...
I found the point in the test harnesses where None was introduced as a value
for `TrackInfo.index`. Just using zero works fine.
2016-06-21 15:02:05 -07:00
Johnny Robeson
ffa46a185c
bytestring normalization
...
Make sure many/most strings that touch the filesystem are
converted explicitly to bytestrings rather than implictly.
2016-06-13 05:39:09 -04:00
Adrian Sampson
9204604a7c
Fix path types in albums_in_dir tests
2016-06-10 12:49:08 -07:00
Johnny Robeson
daac41668e
use util.displayable_path in more tests
2016-06-10 03:54:39 -04:00