Commit graph

2088 commits

Author SHA1 Message Date
Guilherme Danno
fa1037ee28
Enhance %title (#3059)
Use string.capwords in %title to lower char after apostrophe
2018-11-29 11:30:48 -02:00
Jack Wilsdon
bed3abd97a
Allow exiting object selection early 2018-11-28 17:17:12 +00:00
Adrian Sampson
0a74e0fd3f Style fixes for latest pycodestyle changes 2018-10-24 17:05:38 -04:00
David Logie
27f0b57d2b Remove pointless print call. 2018-10-10 15:40:21 +01:00
Jack Wilsdon
5ad16983d4
Fix miscellaneous typos 2018-10-09 01:11:06 +01:00
David Logie
932609933f Allow "deleting" fixed attributes via beet modify.
Deleting a fixed field isn't possible so we just reset the
field back to it's "null" value.

Fixes #2497.
2018-09-27 11:22:17 +01:00
Adrian Sampson
62772ceece Merge branch 'master' into arogl-master 2018-09-16 20:56:17 -04:00
Adrian Sampson
dc45119a8d Avoid comparing patterns in a test
As pointed out here:
https://github.com/beetbox/beets/pull/3028#issuecomment-420257867
2018-09-16 20:52:31 -04:00
Andrew Rogl
919f3f9c34 mbsync no longer queries MusicBrainz when the either the mb_albumid or mb_trackid field is invalid 2018-09-09 15:20:26 +10:00
Adrian Sampson
3ddf3ef58a
Merge pull request #3022 from beetbox/default-ignore-data-tracks
Make `ignore_data_tracks` `yes` by default
2018-09-05 23:13:44 -04:00
Filipe Fortes
2b41775b8a Fix tests 2018-09-05 11:37:54 -04:00
David Logie
57b268923f Split release and release-group disambiguation into separate fields. 2018-09-05 12:45:19 +01:00
Filipe Fortes
692060cc0a Re-order tests 2018-09-04 11:33:07 -04:00
Filipe Fortes
1701aefe5c Make ignore_data_tracks yes by default 2018-09-04 10:04:17 -04:00
Filipe Fortes
210b9d316f Allow ignoring of audio data tracks on import 2018-09-02 10:09:10 -04:00
Adrian Sampson
142aeb6822
Merge branch 'master' into 2972-from-scratch-keep-immutable 2018-07-02 15:18:38 -04: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
Zsin Skri
154e6cfca8 improve tests prefer_specific without canonical
This improves the tests for the changes introduced in
commit cef9a331 LastGenre: allow prefer_specific without canonical.
2018-07-01 09:19:36 +02:00
Zsin Skri
96120d5c6d LastGenre test: prefer_specific without canonical
This tests commit cef9a331.
2018-06-30 22:38:56 +02:00
Zsin Skri
0f847aefcb LastGenre tests: setup_config: add prefer_specific
Allow to specify prefer_specific in lastgenre tests configuration setup.
2018-06-30 22:37:28 +02:00
Iliana Weller
d1d745a58e
Test {album,track}info_received sends in mbsync 2018-05-09 21:46:57 -07:00
Jérémie Detrey
b12b4a1998 mbsync: Add unit test for recording MBID change. 2018-05-08 17:17:23 +02:00
Jérémie Detrey
81e1fc1a7e test.helper: Allow extra track values in generate_album_info. 2018-05-08 17:02:38 +02:00
Jérémie Detrey
f01799207a Add mb_releasetrackid tag to full.* media files. 2018-05-01 08:37:34 +02:00
Jérémie Detrey
9f4c5c8096 Do not rely on positional arguments for TrackInfo. 2018-04-30 18:37:27 +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
Jérémie Detrey
3e3a51dbb1 Merge branch 'feature/406' of github.com:Rawrmonkeys/beets into feature/406 2018-04-30 11:26:10 +02:00
Jérémie Detrey
c1d1388729 Unit test for import with video data tracks. 2018-04-29 20:19:11 +02:00
Jérémie Detrey
e88a7cea90 Unit test for import with audio data tracks. 2018-04-29 20:06:44 +02:00
Adrian Sampson
4288e11fc0
Merge pull request #2891 from dbogdanov/discogs_fixes
Some fixes and updates for the Discogs plugin
2018-04-28 14:32:27 -04:00
Adrian Sampson
8eb50fee33 Avoid weird mutation in web tests
This was strange and unnecessary---setting a field on the response
object instead of just using a local variable---and also broke on Flask
1.0.
2018-04-27 17:34:18 -04:00
Dmitry Bogdanov
676536efa7 Fix incorrect indexing of two-sided mediums
Fix incorrect split of a tracklist by medium for the case of
two-sided mediums (#2887).

Following the discussion in #2887, the 'medium_total' value should
contain the number of tracks on the medium to which each particular
track belongs, not the total number of different mediums present on
a release.

Fix unit tests accordingly.
2018-04-27 19:28:35 +02:00
Denis Defreyne
0202d762bf
Add artist_credit config option 2018-04-08 08:29:06 +02:00
Rawrmonkeys
0f6f0391fd add tag, database entry, data population for musicbrainz release track id 2018-03-25 18:58:04 -07:00
Adrian Sampson
492ff7359a Set up date tests for #2652 2018-02-20 22:57:58 -05:00
Adrian Sampson
9577a511cb Update tests for new Unidecode behavior: fix #2799
The library has started putting spaces around the expanded versions of
vulgar fraction characters.
2018-01-30 20:50:43 -05:00
Nicolas Guillaumin
816de1c3da Rename setting to ignored_media for consistency 2018-01-02 15:04:00 -08:00
Nicolas Guillaumin
22c4f9cb97 Added a setting to control which formats are ignored
This is related to #2688 where a list of hard-coded non-audio formats to
ignore has been added. Some users may want to rip the audio portion of
video tracks (e.g. DVD-Video) so it would be beneficial to let them
control exactly which formats to ignore.

I added a `ignored_formats` setting for that purpose and moved the
hard-coded list into the config. Test and documentation have been
updated accordingly.

Aside: I also clarified the changelog a bit regarding this change and
the related one for #1210.
2018-01-02 11:03:02 -08:00
Nicolas Guillaumin
d325bceb1d Added a setting to control if video tracks are ignored
Users may want to keep tracking video tracks, for example if they rip
the audio part of the video tracks. Added a setting to allow this.
2017-12-31 10:46:48 -08:00
Nicolas Guillaumin
71b4d5c702 Fixes #1210: Skip non-audio tracks from MusicBrainz
This ignores non-audio tracks during import:
- Data tracks, based on their title `[data track]` (which seems to be
the MusicBrainz convention, as there's no specific flag to indicate
that a track is a data one),
- Video tracks, based on the `video=true` attribute.

It's similar to the Picard changes mentioned in #1210, except it doesn't
deal with `[silence]` tracks: These ones will probably require a setting
to let the user control if they should be imported or not.
2017-12-30 19:20:43 -08:00
Nicolas Guillaumin
3b491ce9b4 Fixes #2688: Skip non-audio media from MusicBrainz
Some releases have non-audio media, such as CD+DVD or CD+DVD-Video. Skip
these media when fetching album info as they will never match audio
tracks and will always report missing tracks.

I took the naive approach of cherry-picking a list of media suspected to
not contain audio from the MusicBrainz formats list:

https://musicbrainz.org/doc/Release/Format
2017-12-30 13:29:37 -08:00
tummychow
e848adab04 Implement from_scratch option
Fixes #934, and also helps with #1173.
2017-12-07 14:46:40 -05:00
Sebastian Reuße
c40ea4f22a mediafile._safe_cast: be safer when converting to int
The regex «[\+-]?[0-9]*» possibly matches a single minus/plus, which would then
be passed on to int(), raising a ValueError from within _safe_cast. The test
suite covered this for float, but not for int.

We now make sure we actually have a number after the sign by using a Kleene
plus.
2017-11-19 09:21:07 +01:00
Meet Udeshi
70f0bc5b6c Implement album merging for duplicates
Fixes #112
2017-11-01 02:00:48 +05:30
konman2
578143ae12 updated to pass pep8 checks 2017-10-07 21:28:33 -07:00
konman2
fdeef05cc9 clearart asks for permission before deleting embedded albumart 2017-10-07 20:42:01 -07:00
zigarrre
b376139663 Refactored move functions for clarity according to #2682
The move functions in library.py and manipule_files in importer.py where
changed to use a single parameter for the file operation instead of
multiple boolean flags.

A typo in the documentation of the Album.move and Item.move functions
confusing True and False when describing the store parameter was fixed
as well.
2017-09-11 17:03:44 +02:00
euri10
25fb2453b4 Modified the name of the fetchart plugin switch from missing to quiet 2017-09-05 18:27:47 +02:00
euri10
b2fd274e2c Added a missing switch to the fetchart command so that only missing albums
are displayed
2017-09-05 16:34:26 +02:00
wordofglass
8833fef249 Merge pull request #2668 from wordofglass/edit_logic
Edit plugin logic: Regression from previous PR; incorrect diffs
2017-08-25 15:52:40 +02:00
wordofglass
5f21bd3ccd test_edit: Add a test for retagging. 2017-08-24 15:03:18 +02:00
wordofglass
b903b44a0c test_edit: Fix test that intended to change one item but affected two.
This didn't manifest as a testing failure since the plugin (mostly
silently) drops id changes.
2017-08-22 23:34:35 +02:00
wordofglass
c811102eb2 test_edit: Expect mtime to change, unbreaks the multiple-item tests. 2017-08-22 23:34:06 +02:00
wordofglass
18c82cab5f test_edit: Add a comment explaining why I didn't change the writing behaviour
I was midway through writing a test when realizing that it's best
the way it is...
2017-08-22 23:24:33 +02:00
wordofglass
7d4627bb8f Ensure mtime is non-zero for Items in test fixtures.
mtime == 0 is the "this Item contains newer metadata than the file's
tags" marker. Setting this to something else than 0 emulates the state
of Items freshly read from the database.

Breaks 4 of the edit plugin tests.
2017-08-22 23:24:33 +02:00
Antoine Beaupré
914dba4152
add tests for slug function, failing 2017-07-18 16:32:47 -04:00
Adrian Sampson
8085d1318b Fix ipfs test to sort items in order 2017-06-20 16:19:31 -04:00
Adrian Sampson
2a9be17cf6 Fix some brittle query tests
These were written to incidentally depend on Nones; the behavior they're
actually testing doesn't really have anything to say about None-ness.
2017-06-20 15:56:33 -04:00
euri10
6664b656f4 Merge branch 'relativedate'
Solved conflicts with upstream of new parse classmethod of DateQuery

# Conflicts:
#	beets/dbcore/query.py
2017-06-15 08:59:43 +02:00
Adrian Sampson
ace5656e36 Complete set of __future__ imports 2017-06-14 19:08:27 -04:00
A.L. Kleijngeld
2eb4e3d515 Merge branch 'master' into master 2017-06-13 14:43:10 +02:00
Bart Kleijngeld
762f9ca054 revised to fix flake8 warnings 2017-06-13 14:33:08 +02:00
Adrian Sampson
dfde9ce916 Merge pull request #2510 from SpirosChadoulos/master
New export command (issue #435)
2017-06-11 12:21:06 -04:00
Adrian Sampson
389aed8d5d Merge pull request #2528 from discopatrick/query-datetime-parser
Query datetime parser
2017-06-10 20:57:29 -04:00
Adrian Sampson
15a7dfccff Merge pull request #2583 from yacoob/master
Fix a lastgenre crash
2017-06-10 20:47:19 -04:00
Adrian Sampson
0e47095bb0 Merge pull request #2560 from autrimpo/r128
RFC: replaygain: R128 support
2017-06-10 20:32:42 -04:00
Adrian Sampson
ca4f96e33c Consolidate export tests into MoveTest
Just one new flag.
2017-06-10 20:26:41 -04:00
Adrian Sampson
730c84e5e5 Correct tests for export mode
The old tests were wrong but the incorrectness was hidden by the incorrect
parameter passing fixed in the previous commit. Now we actually test that the
item's path did not change.
2017-06-10 20:25:48 -04:00
Adrian Sampson
714560aace Fix parameter order and binding
The calls didn't match up with the parameter order.
2017-06-10 20:19:27 -04:00
Adrian Sampson
b25eb87f60 Remove unnecessary output capture 2017-06-10 20:05:17 -04:00
Adrian Sampson
29d6c27d02 Fix some spurious whitespace changes 2017-06-10 20:03:01 -04:00
discopatrick
291b287f56 Add a test for a non-range date query 2017-06-05 16:31:37 +01:00
Jakub Turski
f6830b4bc3 Here, flake8, be happy. 2017-06-02 16:27:49 +01:00
Jakub Turski
0e7a0a62d4 Fix excessive line length. 2017-06-02 16:04:05 +01:00
Jakub Turski
a43f5fdace Remove unnecessary test setup parameter. 2017-06-02 15:50:58 +01:00
Jakub Turski
ee46a5150f Don't crash if non-canonical genre and prefer_specific: yes.
Also, add a test for this.
2017-06-02 15:48:05 +01:00
discopatrick
e1101d4e95 Update assertion with correct error name 2017-06-01 12:33:23 +01:00
Bart Kleijngeld
c64878179e finished tests for set_fields on importer 2017-06-01 11:57:24 +02:00
discopatrick
fbb868e5ed Merge branch 'master' into query-datetime-parser 2017-06-01 04:37:45 +01:00
Michal Koutenský
ddfe44266b r128 gain tags in mediafile test 2017-05-17 21:41:12 +02:00
Adrian Sampson
9840964f51 Fix #2562: avoid crash with newlines in templates
Turns out! The $ character in Python regexes also matches before the last
newline at the end of a string, not just at the end of a string. The \Z entity
does what we really want: the *real* end of the string.
2017-05-16 14:00:10 -04:00
Adrian Sampson
9ccaad27d3 Undo some noisy whitespace changes 2017-05-12 10:42:50 -04:00
Adrian Sampson
0cb643f35e Merge pull request #2529 from dosoe/master
Add composer_sort as a tag
2017-05-12 10:34:46 -04:00
SpirosChadoulos
8f62e8bc68 Requested changes done 2017-05-12 14:49:03 +03:00
SpirosChadoulos
c4ef23d9f7 Minor Flake fixes 2017-05-11 12:45:03 +03:00
SpirosChadoulos
51835e762f Minor fixes to move tests 2017-05-11 12:30:21 +03:00
SpirosChadoulos
0dc948d9d3 Made sure that the destination directory will exist 2017-05-11 12:11:21 +03:00
SpirosChadoulos
f5b23fffd4 Replaced all AssertNotExists with AssertExists 2017-05-06 15:03:42 +03:00
Fabrice Laporte
409f070970 Remove lyrics.com source 2017-05-03 22:54:09 +02:00
Fabrice Laporte
fc6b65d592 Merge pull request #2538 from Kraymer/lyrics-test
Tests to track whether lyrics websites are correctly fetched
2017-05-03 20:02:03 +02:00
Fabrice Laporte
8f32bfed82 Reactivate test of LyricsCom and MusiXmatch sources 2017-05-03 07:42:50 +02:00
Fabrice Laporte
f53ab801b8 Add indent 2017-05-03 00:11:26 +02:00
Fabrice Laporte
b3fbdbae5a Fix flake8 2017-05-03 00:02:09 +02:00
Fabrice Laporte
3e38a33c4a Fix PEP8 2017-05-02 23:37:20 +02:00
Fabrice Laporte
11eb90c758 Fix PEP8 2017-05-02 07:46:51 +02:00
Fabrice Laporte
3e3ad6974c Fix PEP8 2017-05-02 07:30:40 +02:00
Fabrice Laporte
fa9262d61b Disable tests that do real requests to lyrics sites by default.
Set BEETS_TEST_LYRICS_SOURCES environment variable to '1' to not skip the
tests.
2017-05-02 01:05:18 +02:00
Fabrice Laporte
d88cabc846 Divide LyricsGooglePluginTest into two classes.
Move existing tests into LyricsGooglePluginMachineryTest.
Create LyricsPluginSourcesTest class to check fetching of each source.
Some code was supposed to do that until now but was never executed as we
exited early at the "if not check_lyrics_fetched():" check.
2017-05-02 01:03:26 +02:00
Fabrice Laporte
a85dcd88c4 Store whole expected lyrics, not just keywords, but randomized 2017-05-02 00:56:56 +02:00
Fabrice Laporte
4e0527f07d Docstrings style 2017-05-02 00:54:58 +02:00
Fabrice Laporte
f8862ac0ea Sort imports 2017-05-02 00:52:07 +02:00
Adrian Sampson
84febb13c1 Merge pull request #2523 from discopatrick/rename-error
Rename error
2017-05-01 15:29:21 -04:00
SpirosChadoulos
a88192240e ExportTest correction 2017-04-30 15:14:17 +03:00
SpirosChadoulos
bab99f546f Added a test for the new export feature 2017-04-30 15:02:50 +03:00
dosoe
813b078d02 added composer_sort on test_mediafile.py since there is artist_sort 2017-04-29 18:47:03 +02:00
Jack Wilsdon
f622e42a88 Replace blind excepts with generic Exception excepts in tests 2017-04-29 00:12:14 +02:00
dosoe
23f172d03d if there is no artist_sort, there should not be a composer_sort. 2017-04-28 13:49:50 +02:00
dosoe
4a17da8e10 requested changes: where there is no artist_sort, there is no need for composer_sort; cleaning up whitespaces. 2017-04-28 13:41:54 +02:00
dosoe
d4ff82e46f adding image stuff for composer_sort 2017-04-28 12:45:31 +02:00
dosoe
e3c37981bb little indentation stuff 2017-04-28 12:13:27 +02:00
dosoe
c51ecd46e3 add composer_sort tag# 2017-04-28 12:10:02 +02:00
discopatrick
50a2e37a4d Keep function names lowercase to pass flake8 tests 2017-04-27 15:58:08 +01:00
discopatrick
6e6dd76513 Remove space separator tests from test_x_precision_intervals tests
This is not the correct place for space separator tests. Each test
should test one thing only. Space separator tests are now in a separate
test case.
2017-04-27 11:36:03 +01:00
discopatrick
5a3b74f681 Test an invalid datetime separator raises error 2017-04-27 11:29:45 +01:00
discopatrick
1ab913b200 Test each valid datetime separator 2017-04-27 11:28:10 +01:00
discopatrick
24890c77f1 Add a date query precision of ‘second’ 2017-04-27 00:24:17 +01:00
discopatrick
02bd19fb32 Allow minute precision queries to use space separator 2017-04-27 00:06:36 +01:00
discopatrick
c3771f722c Allow hour precision queries to use space separator 2017-04-27 00:04:46 +01:00
discopatrick
b8e1c5675e Fix tests 2017-04-25 02:25:50 +01:00
discopatrick
ba324df0d1 Add a date query precision of ‘minute’ 2017-04-25 01:38:31 +01:00
discopatrick
5f2c47ec18 Test further hour precision intervals 2017-04-25 01:38:31 +01:00
discopatrick
61b832990f Add a date query precision of ‘hour’ 2017-04-25 01:38:24 +01:00
discopatrick
58417526cb Rename InvalidQueryArgumentTypeError to InvalidQueryArgumentValueError
The way we use `InvalidQueryArgumentTypeError` is more akin to a `ValueError` than a `TypeError`. For example, we try to parse a string as an int, float, or date, but the parsing fails - there was nothing wrong with the type of the variable (string), but its contents were not parseable into the type we wanted - there was a problem with the value of the string.
2017-04-22 18:07:30 +01:00
Adrian Sampson
78f19db511 Merge pull request #2521 from tweitzel/master
add --yes argument to play command
2017-04-19 18:59:50 -04:00
xarph
02aa6191c1 rename --force to --yes in play plugin
fix some pep8 goo
2017-04-19 10:51:44 -07:00
Adrian Sampson
31c7330de4 Merge pull request #2517 from discopatrick/date-value-field-validation
Date value field validation
2017-04-19 11:36:18 -04:00
xarph
ffcaf33845 add -f argument to play command 2017-04-18 15:30:24 -07:00
Adrian Sampson
0cbb40869a Merge pull request #2403 from antlarr/master
Run python2 or python3 depending on what's being used
2017-04-15 11:28:45 -04:00
Adrian Sampson
fb7296711c Fix Windows encoding in convert stub (#2516) 2017-04-15 11:27:19 -04:00
discopatrick
d466f8802c passes flake8 2017-04-14 14:45:51 +01:00
discopatrick
ff4c0abcf1 tests ‘added’ instead of ‘mtime’ , and uses a correct date format 2017-04-14 13:05:13 +01:00
discopatrick
ed0ea1dee5 tests more invalid date queries 2017-04-14 01:49:58 +01:00
discopatrick
8e6909bf4b raises error when date string has too many components 2017-04-14 01:32:18 +01:00
discopatrick
a3251ef7c6 skips tests for now 2017-04-14 01:13:02 +01:00
discopatrick
1744ca6e88 raises error when dates passed to query as long numbers 2017-04-14 00:40:06 +01:00
Antonio Larrosa
85e0c0dcee Fixed E501 and E305 PEP8 errors 2017-04-04 09:08:30 +02:00
Antonio Larrosa
fa468ce9d1 Properly quote executable and command line parameter
Use shlex.quote (on python3) or pipes.quote (on python2) to properly
quote the python executable and parameter instead of using single quotes
2017-04-04 09:08:30 +02:00
Antonio Larrosa
44ddd2e8f5 Shell-escape sys.executable
sys.executable needs to be shell-escaped on windows.
2017-04-04 09:08:30 +02:00
Antonio Larrosa
42b4e54391 Use sys.executable instead of composing the executable name
Better use sys.executable than using sys.version_info.major and compose
the name of the python executable.
2017-04-04 09:08:30 +02:00
Antonio Larrosa
1e4378d636 Run python2 or python3 depending on what's used
On a system with dependencies installed for python3 but not for python2,
we have to make sure python3 is used everywhere since 'python' might be running
the python2 interpreter.

This helps with some problems in #2400, but doesn't fix the issue completely.
2017-04-04 09:08:30 +02:00
Aaron
64d69f0817 embedart: Added test case for inputting “no” option interactively. 2017-03-10 23:30:49 -08:00
Aaron
f6df3befac Added interactive test method for embedart plugin. 2017-03-08 19:06:09 -08:00
Adrian Sampson
5a71ce722a Simplify embedart test changes for #2422
Whenever possible, it's nice to avoid using DummyIO---it can make debugging
difficult.
2017-03-06 23:55:14 -05:00
Adrian Sampson
74df2788c0 Merge branch 'master' into Stunner-master 2017-03-06 23:51:10 -05:00
Adrian Sampson
17ad3e83db Test updates for #2466 fix 2017-03-03 12:10:26 -06:00
Aaron Jubbal
864aa11ec5 Merge branch 'master' into master 2017-02-21 04:43:45 -08:00
Jacob Gillespie
1fd22604fb Fix linter issues 2017-02-19 17:33:26 -06:00
Jacob Gillespie
902b955696 Fix test_hardlink_arrives 2017-02-19 17:22:01 -06:00
Jacob Gillespie
ccd0f5d129 Remove not-found hardlink test (the OS prevents this from happening) 2017-02-19 17:19:42 -06:00
Jacob Gillespie
b4efecb709 Add option to hardlink when importing 2017-02-19 15:56:13 -06:00