Adrian Sampson
943cbe0838
MediaFile: allow setting date fields to None
2014-05-18 15:14:36 -07:00
Adrian Sampson
dfa8445980
Style and wording for Google Images ( #766 )
2014-05-17 22:10:39 -07:00
Adrian Sampson
7f675dbf64
Merge branch 'Lemutar-master'
2014-05-17 22:02:09 -07:00
Adrian Sampson
79aef50c25
AIFF support ( fix #250 )
...
Thanks to @EvanPurkhiser, AIFF is now supported in Mutagen 1.23! Now we can
support it too.
2014-05-17 21:13:40 -07:00
Lemutar
c890384215
add a test, replace urllibs , update help
2014-05-16 10:56:55 +02:00
Fabrice L.
c0f7e1fec4
Merge pull request #747 from KraYmer/issue740_buckets
...
Issue740: introduce bucket plugin to organize files in bucket directories
2014-05-10 23:04:28 +02:00
Fabrice Laporte
02f7e78fd3
fix flake8 warnings
2014-05-10 10:57:44 +02:00
Fabrice Laporte
21feab7ab1
add tests to check bad buckets definitions
...
message is now printed to the user when buckets declared in the config
file cannot be parsed
2014-05-10 10:55:38 +02:00
Fabrice Laporte
4add189608
Add option to extrapolate year buckets names
...
- spans are now tracked via a list of dicts instead of 2 lists
previously (simpler code)
- extend_year_spans() pregenerates all possible ranges at plugin setup
stage
- a BucketError is now raised if declared bucket format not accepted
2014-05-08 01:28:17 +02:00
Adrian Sampson
e800b46a5d
Make FormattedMapping behave more like a dict
...
The collections.Mapping abstract base class provides all the nice dict-like
functionality we need.
2014-05-06 11:32:20 -07:00
Fabrice Laporte
509af59d4e
cleanup docstrings and add tests
2014-05-04 08:51:11 +02:00
Fabrice Laporte
31569baba7
fix range upper bound + tests added
2014-05-03 23:46:31 +02:00
Fabrice Laporte
581bf768ca
add buckets plugin + tests
...
Add a new template functions %bucket(text, field) for path formatting.
2014-05-03 13:55:21 +02:00
Adrian Sampson
6cc643520d
Merge branch 'KraYmer-lyrics-integration-sources'
2014-05-01 08:58:07 -07:00
Adrian Sampson
362db8f22f
Merge pull request #728 from sampsyo/lastgenre-tests-new
...
Tests for lastgenre (cleaned up)
2014-04-29 08:38:56 -07:00
Adrian Sampson
233f71a457
Use real booleans for whitelist/canonical options
...
As opposed to the strings "true" and "false".
2014-04-28 23:00:00 -07:00
Adrian Sampson
add309b57d
Isolate lastgenre tests
...
We now appropriately set up and tear down the fixture for the lastgenre tests.
(This was causing unpredictable failures elsewhere before.)
2014-04-28 22:35:32 -07:00
Fabrice Laporte
ef3c1cd1ff
use booleans for whitelist and c14n options
...
homogenise options setup using booleans, while keeping the empty string
(synonym of ‘true’) for backward compatibility.
2014-04-28 10:31:22 +02:00
Adrian Sampson
d5dbaeff7a
lastgenre: Restore default whitelist
2014-04-27 13:54:32 -07:00
Adrian Sampson
dfd9a4c397
Merge branch 'KraYmer-lastgenre-tests-new' into lastgenre-tests-new
...
Conflicts:
test/test_lastgenre.py
2014-04-27 13:52:06 -07:00
Fabrice Laporte
d1cc95984e
Rename/add tests
...
Rewrite tests now that empty whitelist is allowed.
2014-04-27 22:32:31 +02:00
Fabrice Laporte
0613cb7d13
Update _setup_config
...
Give an empty string to obtain default whitelist, None for no whitelist
or a stringlist for a custom one.
2014-04-27 22:31:31 +02:00
Adrian Sampson
9f5f70aeab
Merge pull request #720 from sampsyo/import-refactor
...
Import refactor
2014-04-27 09:51:10 -07:00
Fabrice L.
e442749cd4
add a test that would fail with the restricted whitelist approach
...
If no option is set, valid genres should not be rejected. Which is an argument
to have a wide default whitelist.
2014-04-27 16:05:16 +02:00
Fabrice Laporte
e399173f7e
add a test that would fail with the restricted whitelist approach
...
If no option is set, valid genres should not be rejected. Which is an argument
to have a wide default whitelist.
2014-04-27 15:59:43 +02:00
Fabrice Laporte
d0d3c18da2
lastgenre: rewrite filtering logic to make tests pass
...
- remove filter_tags() as genres should not be removed this soon while
c14n has not been applied
- group all filtering logic in the function _resolve_genres (formerly
_strings_to_genre)
2014-04-26 20:51:13 -07:00
Fabrice Laporte
2e8e55736d
get rid of module level options variable
...
Conflicts:
beetsplug/lastgenre/__init__.py
2014-04-26 20:51:00 -07:00
Fabrice Laporte
4e5bb262a7
wip: rewrite setup_config
2014-04-26 20:50:04 -07:00
Fabrice Laporte
21f1607e8f
lastgenre: add tests functions
2014-04-26 20:50:04 -07:00
Fabrice Laporte
3d30708839
add test_lastgenre.py
2014-04-26 20:50:04 -07:00
Adrian Sampson
e9355f336b
Rename remove_duplicates and do_remove_duplicates
2014-04-26 20:21:20 -07:00
Adrian Sampson
38eba4af31
Remove obsolete null checks
...
Along with their tests. Background:
https://github.com/sampsyo/beets/pull/720/files#r12027386
2014-04-26 20:07:26 -07:00
Fabrice Laporte
cee5e81500
remove _lyricstext.py
2014-04-27 00:27:11 +02:00
Fabrice Laporte
af468f5259
Move lyrics listings from .py to .yaml file
2014-04-26 19:26:28 +02:00
Thomas Scholtes
1d787e0b38
Adapt FetchArt tests to new task api
2014-04-26 18:51:56 +02:00
Fabrice L
9e39946da5
Update lyrics_sources.py
...
add copyright header
2014-04-26 07:27:23 +02:00
Fabrice Laporte
567e6300fd
fix flake8
2014-04-26 07:27:13 +02:00
Fabrice Laporte
117d16f2ad
lyrics: add tests to track which websites can be scraped by our algo and be
...
used as sources fot the google custom search engine.
2014-04-26 07:26:50 +02:00
Thomas Scholtes
07dbe042f5
Move set_candidate logic
2014-04-25 13:23:35 +02:00
Thomas Scholtes
6d22c7489c
Test build with setup.py
...
Since some builds use `python ./setup.py test` to test beets we want to make
sure it runs smoothly.
2014-04-25 12:56:01 +02:00
Thomas Scholtes
495c49703c
Add pipeline.mutator_stage
2014-04-19 19:04:49 +02:00
Thomas Scholtes
d8362fd03c
Add pipeline.stage decorator
2014-04-19 18:54:29 +02:00
Thomas Scholtes
09ef565cfc
Make _infer_album_fields a method
2014-04-19 17:02:36 +02:00
Thomas Scholtes
ecb9ba97be
Add SingletonImportTask
...
The goal of this class is to eliminate all checks for `task.is_album`. This is
already accomplished for the methods. Next, we want to tackle the plugin
stages.
2014-04-19 17:02:36 +02:00
Thomas Scholtes
a09b2d4760
Test that duplicate files are removed
2014-04-19 17:02:20 +02:00
Thomas Scholtes
4677c55c4f
Remove DuplicateCheckTest
...
Superseded by `ImportDuplicate*Test`.
2014-04-19 15:50:49 +02:00
Thomas Scholtes
efee81cda7
Refactor ImportDuplicateAlbumTest
2014-04-19 15:49:39 +02:00
Thomas Scholtes
52e3413c5b
Test import singleton duplicates
2014-04-19 15:44:20 +02:00
Thomas Scholtes
0518d4e265
Add tests for duplicate album imports
2014-04-19 15:23:01 +02:00
Adrian Sampson
337b1f8610
tests: use Windows config location on Windows
...
Only 10 test failures remain on my system!
2014-04-18 15:57:57 -07:00
Adrian Sampson
5f4a9c6446
fix Windows path manipulation in importfeeds
2014-04-18 15:52:23 -07:00
Adrian Sampson
eee2213099
Merge pull request #696 from ayberk/master
...
Fixed #453 and added test cases
2014-04-18 15:38:27 -07:00
Adrian Sampson
309c5c1a58
fix #705 : unicode in SoundCheck fields
2014-04-17 18:10:16 -07:00
Thomas Scholtes
bd047ec6c8
Add tests for resumed import
2014-04-17 21:56:15 +02:00
Yevgeny Bezman
bbb1f7a295
tests: made all tests pass on cygwin. Fixes #655
2014-04-17 19:50:59 +03:00
Thomas Scholtes
a6aed22ddd
Flake8 fixes
2014-04-17 12:25:59 +02:00
Thomas Scholtes
ea04344560
Test and fix unicode issues in logs. Fixes #699
...
The helper functions for creating test fixtures now include unicode characters.
2014-04-17 12:12:49 +02:00
Ayberk Yilmaz
f67ace610a
Fixed #453 and added test cases
2014-04-16 23:16:04 +03:00
Thomas Scholtes
d02dec8364
Test albums and singletons simultaneously
2014-04-16 14:50:57 +02:00
Thomas Scholtes
b8687999e2
Query string for computed fields. Fixes #693
2014-04-16 14:18:07 +02:00
Thomas Scholtes
8057830c01
Test mbsync plugin
...
Exposes bug from #693
2014-04-16 14:01:00 +02:00
Thomas Scholtes
1f742130c4
Catch all archive extract errors and skip tests without unrar
2014-04-15 18:26:35 +02:00
Thomas Scholtes
68595ee09d
Import rar archives
2014-04-15 18:24:09 +02:00
Thomas Scholtes
e3acdd0cc8
Import tar archives
...
Also refactors the importer code to make better use of ArchiveImportTask.
2014-04-15 18:24:08 +02:00
Thomas Scholtes
b783097329
Import zip archives
...
`beet import archive.zip` extracts the archive to a temporary directory and
imports the content.
The code is very hacky. To make it cleaner the `importer` module needs some
refactoring. One thing the code hints at is extending the `ImportTask` class.
2014-04-15 18:24:08 +02:00
Thomas Scholtes
770bee3583
Extract check for thrird party programs in tests
2014-04-15 18:23:55 +02:00
Thomas Scholtes
4b012e5ddf
Import tests use TestHelper
...
Removes duplicate code, increases speed and makes some files clake8 clean.
2014-04-15 14:57:01 +02:00
Adrian Sampson
02036dd480
Merge pull request #686 from mook/master
...
`beet modify`: Treat arguments with : before = as queries, not modifications
2014-04-14 10:39:43 -07:00
Mook
12a5215afa
beet modify: Add simple argument parsing tests.
2014-04-13 21:24:45 -07:00
Adrian Sampson
2f3ed3e450
avoid extra output in test mp3gain run
2014-04-13 20:41:58 -07:00
Adrian Sampson
77af4ce040
more test isolation ( #670 )
...
Doing test-specific cleanup in tearDown before general sandbox deletion helps
avoiding contamination of global state between tests when cleanup fails.
Current Windows status:
Ran 1106 tests in 72.373s
FAILED (SKIP=10, errors=13, failures=15)
Closer!
2014-04-13 13:57:22 -07:00
Adrian Sampson
8555fa7640
skip pyechonest tests when library not installed
2014-04-13 13:26:51 -07:00
Adrian Sampson
9dd4ad96bd
syspath: correctly prefix Windows UNC paths
...
Identified while tackling #670 , but this should actually solve some legitimate
problems with cataloging music on a network drive.
2014-04-13 13:19:03 -07:00
Adrian Sampson
77eddaa2d1
properly sandbox all tests
...
All filesystem writes are now to temporary directories. (Long ago, the policy
was to put temporary stuff in _RSRC, but that was a pretty bad idea.)
2014-04-12 19:29:29 -07:00
Adrian Sampson
5477a5d039
better tolerance in RG tests
...
The first fix avoids contaminating all future tests if the plugin fails to
load. The second skips the CLI backend tests when the appropriate tool is not
available (just as we do with the GStreamer tests).
2014-04-12 19:04:01 -07:00
Adrian Sampson
ed8002bed5
tests: close databases to avoid errors on Windows
...
Fixes #655 and makes progress on #670 .
2014-04-12 15:00:17 -07:00
Adrian Sampson
e5d28e2171
lyrics is flake8-clean
2014-04-12 13:32:46 -07:00
Adrian Sampson
7fcd7daf7c
lyrics: minor style/doc cleanup
2014-04-12 13:08:24 -07:00
Adrian Sampson
2dafaa2f0c
Merge branch 'KraYmer-lyrics-enh-tests'
2014-04-12 12:58:20 -07:00
Adrian Sampson
7639267f8f
Pythonic names for test helpers
2014-04-12 11:24:47 -07:00
Thomas Scholtes
650b49795b
Add keyfinder plugin
...
Closes #662 and #279 .
2014-04-12 18:44:38 +02:00
Thomas Scholtes
e5104784c6
Add captureStdout helper and mocks to some tests
2014-04-12 16:49:54 +02:00
Thomas Scholtes
65fcb8a28c
Allow CLI tests to use :memory: db
...
This significantly increases performance
2014-04-12 16:08:57 +02:00
Fabrice Laporte
9a32ed5864
add lyrics plugin unit tests file
2014-04-12 12:30:15 +02:00
Thomas Scholtes
c01fc542ed
Support for initial_key with EchoNest
2014-04-11 21:03:11 +02:00
Thomas Scholtes
1670cb4565
Flake8 fixes
2014-04-11 16:05:08 +02:00
Thomas Scholtes
6705c123cf
Use helper for replaygain tests
2014-04-11 15:14:13 +02:00
Thomas Scholtes
75da27729c
Zero also tests deleting rg_track_gain
2014-04-11 15:12:47 +02:00
Thomas Scholtes
287428e805
Use only valid media files as fixtures
2014-04-11 00:06:59 +02:00
Thomas Scholtes
7b954d9999
Remove null normalization for replaygain.
...
A `None` value for replagain fields is different from a `0.0` value [1].
[1]: https://github.com/sampsyo/beets/issues/157#issuecomment-39521322
2014-04-10 22:02:24 +02:00
geigerzaehler
2be1bdeb1f
Merge pull request #660 from geigerzaehler/mediafile-delete-tags
...
Delete and handle nonexistant tags
2014-04-10 20:35:19 +02:00
Thomas Scholtes
f6f974ec87
Remove ITEM_* constants
...
We might consider renaming `Item._fields` to `Item.fields` since other parts of
beets use it as a replacement for `ITEM_KEYS`.
See also #650 .
2014-04-10 17:11:21 +02:00
Thomas Scholtes
52dc84f43a
Set literal not available in py26
2014-04-09 23:28:11 +02:00
Thomas Scholtes
a6839603cd
Return None for missing tags.
...
Instead of returning a special "None value" if a tag does not exist, we return
none directly.
2014-04-09 23:28:11 +02:00
Thomas Scholtes
a114b67974
Remove all tags from empty.wma
2014-04-09 23:28:11 +02:00
Thomas Scholtes
663d91c4b2
Delete tags from media files
2014-04-09 23:28:11 +02:00
Thomas Scholtes
9d9f1b539f
More robust tests for converted files
2014-04-09 20:41:58 +02:00
Adrian Sampson
323be89d4d
fold OrderedEnum into autotag module
...
This puts the OrderedEnum generic class next to where it is actually used. It
also refers to the recipe it is taken from on docs.python.org. I also took the
opportunity to give this a capitalized name (since it's a proper type).
2014-04-08 17:10:50 -07:00
Adrian Sampson
443b8089d5
remove unnecessary IndexableEnum
...
This is not really critical since list(Type)[i] works just as well. This fixes
a couple other problems from the enum transition:
- The name of TYPES was not really consistent with its new role as an enum
type. Renamed this ImageType.
- Fix a rather egregious bug in embedart (undefined reference to Image).
2014-04-08 16:59:50 -07:00
Adrian Sampson
1eb6ccf0ab
Merge pull request #642 from ktkonrad/enum34
...
use the new python enum instead of hand-rolled version
2014-04-08 15:24:04 -07:00