Bruno Cauet
8dd7bf0f0b
unicode_literals in beets.ui and beets.autotag
...
Well, that was easy!
2015-01-19 17:18:50 +01:00
Bruno Cauet
90b388b775
Use __future__ imports but unicode_literals everywhere
...
Include import of __future__ features division, absolute_imports and
print_function everywhere. Don't add unicode_literals yet for it is
harder to convert.
Goal is smoothing the transition to python 3.
2015-01-19 12:25:16 +01:00
Bruno Cauet
2902cda036
tests: use absolute imports everywhere
2015-01-19 12:25:15 +01:00
Bruno Cauet
b436e75a9e
embedart: fix behaviour on IM unparseable output, add tests
...
Test all EmbedCoverArtPlugin.check_art_similarity() code paths.
Improve #1241 .
2015-01-19 11:50:51 +01:00
Adrian Sampson
dc5a79e35c
New import_task_created event
...
Part of #1186 .
2015-01-18 15:37:48 -08:00
Malte Ried
0eb185a5e7
Merge branch 'master' into import-filefilter
2015-01-18 18:55:24 +01:00
Adrian Sampson
6fb3b24c31
Merge pull request #1221 from brunal/crash-on-invalid-queries
...
Stop on invalid queries instead of ignoring them
2015-01-15 10:50:05 -08:00
Bruno Cauet
f4b4847919
Rename exception: InvalidQuery → InvalidQueryError
...
Follow PEP8.
2015-01-15 11:47:35 +01:00
Bruno Cauet
b49cd3b73b
Lyrics plugin: fix google backend
...
Give config on backends init so the Google backend can get the API key
and Engine Id.
Fix #1226
2015-01-15 11:28:04 +01:00
Bruno Cauet
0d1fa80651
Smartplaylist: don't utf8-encode the name
...
A Template expression expects an unicode, not an utf8-encoded string.
Add a test for that.
2015-01-14 12:32:00 +01:00
Bruno Cauet
3804eb5b52
Stop on invalid queries instead of ignoring them
...
So far an invalid query won't be applied:
$ beet ls The Beatles year:196a
will be treaded as
$ beet ls The Beatles
With this commit it stops beets, returns 1 and produces
$ invalid query: u'196a' is not an int or a float
This applies to any querying and therefore on many command, plugins and
some configuration options.
Invalid queries exist on numeric fields and on regular expression usage.
Compile regular expression queries upon instantiation instead of upon
each match test.
The reporting can be improved (give more context). Fix #1219 .
2015-01-14 11:28:50 +01:00
Malte Ried
ad65242ebd
Merge branch 'master' into import-filefilter
...
Conflicts:
beets/importer.py
beets/plugins.py
beetsplug/ihate.py
2015-01-14 10:46:03 +01:00
Bruno Cauet
2e57d8660e
Ensure there's no duplicate plugin listeners
...
A same function cannot be registered twice on a given event.
This will permit improvements of some plugins (e.g. smartplaylist)
2015-01-13 11:29:42 +01:00
Bruno Cauet
621ea60af4
Improve importer log unicode-handling test
...
Send unicode instead of utf8-encoded string and check that the
non-ASCII char is correctly handled.
Bonus: use unittest.TestCase.assertIn(A, B) instead of "assert A in B".
2015-01-12 22:20:58 +01:00
Bruno Cauet
8418fb6083
Use a standard logger for the import log
...
The import log now relies on a standard logger, named 'beets.importer'
and configured upon initialization of the import session.
2015-01-12 21:47:44 +01:00
Bruno Cauet
b27c5304d1
Merge branch 'master' into logging
...
Conflicts:
beetsplug/fetchart.py
beetsplug/mpdstats.py
2015-01-09 15:15:27 +01:00
Adrian Sampson
1654fc82ce
Merge pull request #1211 from brunal/fetchart-check-isfile
...
Fetchart: check that the art found is a file
2015-01-08 13:40:21 -08:00
Frederik “Freso” S. Olesen
4b1f0cbf48
Happy 2015. ;)
...
See 7a410f636b
Command used:
git grep -l 'Copyright 201'|xargs sed -i -E 's/Copyright 201./Copyright 2015/'`
2015-01-08 21:37:09 +01:00
Bruno Cauet
2e1b0d589d
Fetchart: check that the art found is a file
...
Fixes issue #1177
2015-01-08 10:58:08 +01:00
Bruno Cauet
974155f2bc
Fix pep8 in test
2015-01-06 22:10:30 +01:00
Bruno Cauet
df82e113e5
Fix embedart tests
2015-01-06 21:42:34 +01:00
Bruno Cauet
30562024d2
Fix Lyrics plugin tests
2015-01-06 21:42:10 +01:00
Bruno Cauet
1f62711221
Fix FetchArt tests
2015-01-06 21:42:10 +01:00
Bruno Cauet
1f0932968e
Simple test fixes
...
importfeeds, lastgenre
2015-01-06 21:42:10 +01:00
Adrian Sampson
f6dc2cd81c
Merge pull request #1198 from brunal/logging
...
Lazy {}-style logging everywhere
2015-01-05 17:34:30 -08:00
Adrian Sampson
59f5fc7f7f
Remove nose dependency
2015-01-05 10:16:10 -08:00
Bruno Cauet
30f158a95e
Move "from beets import logging" statements
...
Move the import next to other beets-related imports
2015-01-05 10:05:21 +01:00
Bruno Cauet
06f0e1dee1
Port beets.logging to python 2.6
...
Multiple hacks :-)
2015-01-05 09:21:11 +01:00
Malte Ried
d71a8227e2
Added documentation and tests
2015-01-04 19:02:22 +01:00
Bruno Cauet
52243269fc
Make test/test_logging work on python 2.6
2015-01-04 17:14:34 +01:00
Bruno Cauet
408afa1b58
Add tests for beets.logging
2015-01-04 17:02:28 +01:00
Bruno Cauet
7df8bef8b7
Update logging imports: logging → beets.logging
2015-01-04 17:02:27 +01:00
Malte Ried
1c4dda4bd3
Merge branch 'master' into import-filefilter
2015-01-04 16:12:36 +01:00
Fabrice Laporte
80038e2a3f
test_bucket: update test_year_single_year
...
2015 was used as an example of date outside of [1970-current year] intervall which is not true anymore
2015-01-03 23:03:29 +01:00
Malte Ried
c560a3d042
Recent changes broke the flake8 rules...
2014-12-31 17:20:47 +01:00
Malte Ried
61a20b3163
Modified the tests to match the new --pretend output.
2014-12-31 17:15:52 +01:00
Malte Ried
ab996a0de0
Merge branch 'master' into import-filefilter
...
Conflicts:
test/test_importer.py
2014-12-31 17:04:16 +01:00
Malte Ried
7f4a06d12c
Instead of emitting the import_task_created event using a pipeline stage, it is fired every time an import task was created.
2014-12-31 16:57:09 +01:00
Adrian Sampson
405726ba13
Merge pull request #1189 from mried/import-pretend-verbose
...
A more detailed output of the `--pretend` option
2014-12-31 08:41:22 -04:00
Malte Ried
0e74c5dbaa
Rearranged regex config options to reduce hierarchies
2014-12-31 11:56:50 +01:00
Malte Ried
bee0a5b9fe
Album tracks are prepended by two spaces to indent them a bit.
2014-12-31 11:38:03 +01:00
Malte Ried
cc82e1cb43
Made the detailed output the default behaviour.
2014-12-31 11:30:46 +01:00
Fabrice Laporte
38b890cdd6
lyrics: add test checking scraping of mocked page
2014-12-31 06:16:06 +01:00
Fabrice Laporte
c34e718ab6
lyrics: introduce empty div in mocked lyrics page
2014-12-31 06:15:41 +01:00
Fabrice Laporte
d4d5c085fa
lyrics : remove empty divs before scraping
...
it may result in \n being inserted that we will strip in
_scrape_strip_cruft
2014-12-30 23:37:23 +01:00
Malte Ried
8addf3ef39
Simplified the configuration of the regular expressions for th ihate plugin
...
Added the docs
2014-12-30 14:11:45 +01:00
Malte Ried
11008494c3
Tests failed on windows
2014-12-30 12:45:29 +01:00
Malte Ried
023c13d292
Updated the test code to ignore the "Sending event" log messages.
2014-12-29 13:22:28 +01:00
Malte Ried
acec078fa3
The new event changed the log so an old import test failed...
2014-12-29 13:15:54 +01:00
Malte Ried
5123a41258
Added a flag --detailed to get a more detailed output of the --pretend option.
2014-12-29 12:54:16 +01:00
Thomas Scholtes
b33d5b577a
Catch exception when program check has non-zero return code
...
See #1175 .
2014-12-29 12:07:57 +01:00
Malte Ried
16abc858e3
Removed some testing code which was checked in accidentally
2014-12-29 12:03:52 +01:00
Malte Ried
7674399a45
Added the import_task_created event
...
Improved the IHatePlugin to filter files based on file names
2014-12-29 12:03:51 +01:00
Marc Addeo
8f41818434
Fix formatting to pass flake8 tests
2014-12-28 20:58:59 -05:00
Marc Addeo
a70820d8a1
Fix a bug in ftintitle with the order of album artist
...
There was a bug in the find_feat_part function that would cause it to
fail if the album artist was the second part of the featured string.
For example, if the Artist field was Alice & Bob, and the Album Artist
field was Bob it would return None due to the order.
This fixes that and adds test cases to ensure it doesn't return.
2014-12-28 20:23:17 -05:00
Marc Addeo
4d4113e3a4
Refactor ftintitle to extract the code to find the featured artist
...
This removes the code that extracts the featured artist from the
original artist field from the ft_in_title function and puts it into its
own.
It also adds a custom ArtistNotFoundException that find_feat_part will
throw if the album artist is not in the artist field.
This allows us to easily test the results of finding a featured artist
in the artist sting, and thus adds tests for the usual test cases that
the split_on_feat gets tested for.
2014-12-28 20:15:09 -05:00
Stig Inge Lea Bjørnsen
a2188d475b
ImportAdded support for in-place and link imports
...
Fix for the `ImportAdded` plugin crashing during in-place imports (#1107 ).
Add support for the new link imports introduced in Beets 1.3.9.
Note that link-imports that preserve file modification times will follow
the links and preserve the mtimes on the link targets. The mtimes on the
links aren't modified.
2014-12-25 21:39:28 +01:00
Adrian Sampson
74466fff89
Merge pull request #1162 from mried/import-pretend
...
Added option --pretend to only print the filenames
2014-12-23 09:08:09 -05:00
Malte Ried
5f67f3ae51
The last commit broke the tests. Repaired...
2014-12-21 21:52:09 +01:00
Malte Ried
440fe9a2ea
Reduced the count of accesses of the pretend config option. Now it's only one place where it is read.
...
Changed the output to use the log system rather than print_.
2014-12-21 21:37:44 +01:00
Malte Ried
2db346388a
Added option --pretend to only print the filenames of files to import without importing them
2014-12-21 15:56:56 +01:00
Adrian Sampson
b15102608c
Fix convert tests
...
Use some shell trickery to get the pipelined command to work.
2014-12-21 09:50:57 -05:00
Thomas Scholtes
ec65408c3e
Escape path queries for SQLite
...
Fixes #1146
2014-12-21 12:26:04 +01:00
Fabrice Laporte
e2506f3d03
change prints to ease sources copy/paste
2014-12-19 00:20:50 +01:00
Fabrice Laporte
c12dd5163d
add lyrics.com and lyrics.wikia.com to google srcs
2014-12-19 00:00:10 +01:00
Fabrice Laporte
01f484712e
change lyrics.com song
2014-12-18 23:59:37 +01:00
Fabrice Laporte
a41106652e
fix lyrics.net song url
2014-12-18 23:58:58 +01:00
Fabrice Laporte
69d3065e56
fix black magic woman lyrics keywords
...
“sticks” is last word of sentence so can be spelled “sticks.”, “magic”
is less ambiguous.
2014-12-18 23:57:46 +01:00
Fabrice Laporte
b89c8e78e3
remove test_util.py
2014-12-17 22:16:23 +01:00
Fabrice Laporte
7d0744d46b
lyrics: update unit tests
2014-12-17 22:04:54 +01:00
Fabrice Laporte
e7a4b92de5
lyrics: add 'sources' option
2014-12-17 00:42:11 +01:00
Fabrice Laporte
0f2f43ca9b
lyrics: add musixmatch source
2014-12-17 00:41:21 +01:00
Adrian Sampson
c2184be679
Merge branch '1060_ft_lang_support'
2014-12-16 11:53:59 +00:00
Adrian Sampson
c2c1e7236d
Simplify word boundaries ( #1060 )
...
Use lookahead/lookbehind matching to ensure there is whitespace around the
token. Replaces the use of \b, which doesn't work for "ft.", etc.
2014-12-16 11:49:54 +00:00
Fabrice Laporte
82de2a55bc
ftintitle unit tests
2014-12-13 23:35:59 +01:00
Fabrice Laporte
5434c028a4
lyrics: add sources to google CSE
2014-12-13 11:15:55 +01:00
Thomas Scholtes
20f809650c
zero: make tests more explicit
2014-12-02 18:07:19 +01:00
Thomas Scholtes
66b81ed081
echonest: test conversion failure
2014-12-02 11:54:36 +01:00
Thomas Scholtes
c248a71494
echonest: mock convert and truncate commands
2014-12-02 11:51:18 +01:00
geigerzaehler
d0e8be45a9
Merge pull request #1128 from geigerzaehler/edit-invalid-config
...
Allow invalid configuration files to be edited
2014-12-02 11:25:35 +01:00
Thomas Scholtes
575740f5a5
echonest: test different methods to fetch songs
2014-12-02 11:19:47 +01:00
Adrian Sampson
c41b8acf82
Merge pull request #1129 from geigerzaehler/zero-images
...
zero: Can delete embedded images
Conflicts:
docs/changelog.rst
2014-12-01 11:40:48 -08:00
Adrian Sampson
4670a8485f
Merge pull request #1127 from geigerzaehler/empty-dir-warning
...
Warn user when no files are imported from a directory
2014-12-01 11:30:26 -08:00
Thomas Scholtes
e2b2a505fc
zero: Can delete embedded images
...
Fixes #1100 .
2014-12-01 17:33:45 +01:00
Thomas Scholtes
9d3729dc5e
mediafile: Test deleting images and implement it for MP3s
2014-12-01 17:20:16 +01:00
Thomas Scholtes
eb8ccef8e6
Fix py26 string format
2014-12-01 13:05:29 +01:00
Thomas Scholtes
a5f097a883
Allow invalid configuration files to be edited
...
Fixes #1123 .
2014-12-01 13:02:21 +01:00
Thomas Scholtes
75c6af6329
Warn user when no files are imported from a directory
...
Fixes #1116 .
2014-12-01 12:31:49 +01:00
Marvin Steadfast
b25393151d
Added plexupdate plugin for refreshing plex music library after importing music.
2014-11-28 11:19:17 +01:00
Adrian Sampson
42228e6d82
Tests: fix unload_plugins
...
Don't mutate the base classes. This was causing plugins to break on the second
test that uses them, since after they were unloaded their class-level fields
were broken (since the modules are not re-loaded).
This makes it more clear than ever that we need to encapsulate plugin loading
state using some manner of PluginManager.
2014-11-24 10:58:32 -08:00
Marvin Steadfast
d3b76d83d2
Permissions plugins listens now for album_imported and item_imported
2014-11-24 18:41:50 +01:00
Adrian Sampson
daeab3d3a9
Add (skipped) tests for #359
2014-11-22 21:48:06 -08:00
Adrian Sampson
671d8d6aa7
Merge pull request #1098 from xsteadfastx/master
...
Added fix_permissions plugin
2014-11-20 07:38:21 -08:00
Marvin Steadfast
8784e8d8ca
plugin now listens for item_copied instead of after_write. now the test works
2014-11-20 11:40:02 +01:00
Fabrice Laporte
c69ad5d243
print google sources url
...
when releasing a beets version, run the script before running test_lyrics.py, and copy/paste the sources listed on stdout as a bulk add on Google CSE so beets engine is up-to-date.
2014-11-19 23:33:06 +01:00
Marvin Steadfast
a01e73d813
added not working test for debugging
2014-11-19 19:43:31 +01:00
David
5f1f6bbd04
Remove function from RmTempTest
2014-11-16 21:53:33 -05:00
David
e1ff258ce5
Move function to increase DRY
2014-11-16 21:39:58 -05:00
David
38f056a30c
Adding tests for #1067
2014-11-16 21:33:03 -05:00
David
b901071e2c
Implment -> Implement
2014-11-16 10:39:50 -05:00
Adrian Sampson
66d02bc289
Add link parameter to Item.move ( #710 )
2014-11-15 12:41:40 -08:00
Adrian Sampson
36d332ab6a
Fix #856 : album dirty tracking
2014-11-13 23:25:16 -08:00
Adrian Sampson
288fb0da4c
Merge pull request #1075 from Kraymer/1066-fetchart_sources
...
fetchart: add 'sources' option
2014-11-11 10:04:45 -08:00
Adrian Sampson
91ad0d9f58
Merge pull request #1069 from Kraymer/1035_no_copyright
...
Remove licensed lyrics from tests resources
2014-11-11 09:58:54 -08:00
Fabrice Laporte
a0579d66cf
lyrics: remove full texts from lyricstext.yaml
...
lyrics are considered valid if they contain a set of
selected keywords picked along the original full text.
2014-11-11 09:06:37 +01:00
Fabrice Laporte
1b0933daa9
fetchart: fix tests to handle generators
2014-11-10 22:37:19 +01:00
Fabrice Laporte
ef6d3efe6d
fetchart: cover engines yield their results
2014-11-10 22:17:34 +01:00
Adrian Sampson
68770f85e3
Update ALAC tests for Mutagen 1.26
...
The metadata extraction is now more accurate for ALACs, but we lost the
ability to distinguish them from AAC.
2014-11-10 10:06:21 -08:00
Fabrice Laporte
09bea52a41
fetchart: fix flake8
2014-11-09 20:55:53 +01:00
Fabrice Laporte
6170c3a179
fetchart: make test_art.py tests pass
2014-11-09 20:41:21 +01:00
Fabrice Laporte
1b694e569e
fetchart: add 'sources' option
...
Fasten cover search by enabling engines selection and prioritisation.
2014-11-08 23:20:44 +01:00
Fabrice Laporte
84c82cc44b
Move script to download pages out of tests_lyrics.py
...
By default (as runned by CI tools), only *fake* example.com page is present in
rsr/lyrics and tests that check content of pages coming from *real* sources are
thus skipped.
Execute lyrics_download_samples.py to download pages from *real* sources. When
done and *real* pages are present on disk, no tests are skipped.
2014-11-08 10:55:48 +01:00
Fabrice Laporte
f5e7bd5d05
Move script to download pages out of tests_lyrics.py
...
By default (as runned by CI tools), only *fake* example.com page is present in
rsr/lyrics and tests that check content of pages coming from *real* sources are
thus skipped.
Execute lyrics_download_samples.py to download pages from *real* sources. When
done and *real* pages are present on disk, no tests are skipped.
2014-11-08 10:48:28 +01:00
Fabrice Laporte
356c1f44b5
nosetests: don't run slow tests by default
2014-11-06 22:46:42 +01:00
Fabrice Laporte
b143ad7e3e
fix #1035 do scraping tests on mock data
...
don’t store scraped pages with licensed lyrics in repo
2014-11-06 22:10:15 +01:00
Adrian Sampson
ddf5511624
Use unittest.SkipTest instead of nose's version
...
I don't *think* this should actually do anything, but it does remove a
dependence on nose.
2014-11-05 10:49:45 -08:00
pscn
291675330d
Allow plugins to define the same flexible fields if they are of the same
...
type #1059
2014-11-04 21:20:35 +01:00
Adrian Sampson
832d658571
Use assertAlmostEqual ( #1054 )
...
Rounding and then comparing could lead to some surprising sensitivity. This
uses a known-good approximate comparison.
2014-11-01 13:08:07 -07:00
Adrian Sampson
256a3b4055
Tiny formatting tweaks ( #1054 )
2014-11-01 12:49:44 -07:00
Stig Inge Lea Bjørnsen
afee48379d
Add tests for the importadded plugin
...
The tests verifies that the `importadded` plugin updates added dates and
mtimes when importing:
* an album
* an album with file mtime preservation on
* singletons
* singletons with file mtime preservation on
It also verifies the the plugin doesn't update added dates when
re-importing:
* an album
* singletons
2014-11-01 15:32:27 +01:00
Adrian Sampson
8ed76298e3
Merge pull request #1043 from kiefermat/mediafile_comments_and_year
...
Added slash separator to DateField and more comments styles to MediaFile
2014-10-28 11:30:07 -07:00
Adrian Sampson
3c748b6cc8
Merge pull request #1042 from kiefermat/apev2_cover_support
...
Support for APEv2 cover tags
2014-10-28 11:03:00 -07:00
Matthias Kiefer
610942b1a5
Fixed getting description for wma file with standard WMA attributes
2014-10-28 10:28:12 +01:00
Matthias Kiefer
b02da5e150
Added test for date with slashed and fixed date regex
2014-10-28 08:52:03 +01:00
Matthias Kiefer
f8abb03b40
Added support for APEv2 cover tags
2014-10-27 16:10:17 +01:00
Thomas Scholtes
464f8cdc04
Types plugin: Field types for albums and documentation example
2014-10-27 10:54:21 +01:00
Adrian Sampson
9137b5c2f3
Fix another lyrics scraper regression ( #1034 )
...
Along with a test.
2014-10-24 20:08:32 -07:00
Adrian Sampson
0325fe2225
lyrics: Remove script tags ( fix #1034 )
2014-10-24 17:33:11 -07:00
Adrian Sampson
c158bb630c
Fix mock function restoration in test :(
...
An argument for using decorators, context managers and stuff so this is
impossible to mess up.
2014-10-24 17:15:09 -07:00
Adrian Sampson
6aa9e60756
Add tests for #1029
...
The mbngs library does not like to be called with whitespace-only criteria.
2014-10-24 16:30:14 -07:00
Adrian Sampson
434280f248
A couple of coverage tweaks
2014-10-11 22:05:22 -07:00
Adrian Sampson
e949fe2d93
A bunch more tests for Results
2014-10-11 20:44:10 -07:00
Adrian Sampson
9d5fdbb37f
Fix concurrent iterators in incremental results
...
Some weird behavior was possible when having two iterators on the same Results
object. May seem far-fetched, but it is possible. As an added bonus, this
saves a little memory by disposing of rows when they have been materialized
into model objects.
2014-10-11 20:30:33 -07:00
Fabrice L.
e6bf8c21d8
Merge pull request #992 from KraYmer/lyrics-coverage
...
Improve lyrics coverage
2014-10-09 22:11:28 +02:00
Fabrice Laporte
4386d9d4df
skip test involving bs4 if python version too low
2014-10-09 08:23:20 +02:00
Fabrice Laporte
b32838b519
fix flake8
2014-10-09 06:47:23 +02:00
Fabrice Laporte
2b908b48bc
lastgenre: use an ordinary Item instead of a Mock
2014-10-09 06:38:40 +02:00
Fabrice Laporte
b95990ee9c
lastgenre: add unit tests
2014-10-09 00:00:26 +02:00
Fabrice Laporte
546d17f52f
fix flake8
2014-10-08 20:55:00 +02:00
Fabrice Laporte
4600727e17
fix building of lyrics file paths
2014-10-08 20:32:30 +02:00
Fabrice Laporte
edbbadaf4f
add test to check lyrics title match in url title
2014-10-08 14:49:59 +02:00
Fabrice Laporte
9992d65366
test_lyrics: add onelyrics.net source
2014-10-08 14:44:43 +02:00
Adrian Sampson
2b1353a4f1
Malformed date queries no longer crash
2014-10-04 16:50:50 -07:00
Adrian Sampson
06b4730105
Re-import tests: stub out *_for_id functions
...
Currently, these just return no results. (For our testing purposes, the
matches we get from the ordinary metadata search suffice just fine.)
2014-09-28 11:39:04 -07:00
Adrian Sampson
a3eef35ba8
Test singleton re-imports
2014-09-28 11:16:38 -07:00
Adrian Sampson
f367a0971c
Re-import test: check item-level data preserved
2014-09-28 11:04:25 -07:00
Adrian Sampson
e8d2ade167
Basic re-import tests
2014-09-28 10:58:43 -07:00
Fabrice L.
54c9761135
Merge pull request #981 from KraYmer/lyrics-enh
...
Lyrics scraping code refactored
2014-09-27 11:25:06 +02:00
Adrian Sampson
4f2d7e0aaa
Merge pull request #974 from KraYmer/fetchart_issue848_2
...
embedart: write candidate image only if it is "similar" to already embedded one (suite)
2014-09-25 15:25:46 -07:00
Fabrice Laporte
3a748f3294
add test_is_page_candidate()
2014-09-25 00:05:29 +02:00
Fabrice Laporte
a6a83be434
fix flake8
2014-09-24 23:30:38 +02:00
Fabrice Laporte
879fc8d3ca
add LyricsGooglePluginTest to test_lyrics.py
2014-09-24 18:04:37 +02:00
Fabrice Laporte
8ef7837d22
merge strip_cruft() and _scrape_normalize_eol() into _scrape_strip_cruft
2014-09-24 16:51:54 +02:00
Adrian Sampson
fc2c75ee9c
Tests for mkdirall
...
A red herring. I thought this might be responsible for #969 .
2014-09-23 18:49:38 -07:00
Fabrice Laporte
333591fd78
no html entities in _scrape_streamline_soup output
2014-09-24 00:25:50 +02:00
Fabrice Laporte
da6bcda4af
add lyrics rsrc files
2014-09-23 18:05:08 +02:00
Fabrice Laporte
7e3676ecc9
sort sources in alphabetical order
...
remove test_sources_fail() (all sources pass now)
2014-09-23 18:01:05 +02:00
Fabrice Laporte
a938e68c98
refactor scrape_lyrics_from_url into smaller functions
2014-09-23 13:21:31 +02:00
Fabrice Laporte
168a24ad77
test_lyrics.py: improve lyrics module coverage
2014-09-22 17:28:02 +02:00
Fabrice Laporte
1dd4ca1d81
lyrics_sources: put sources in their correct category
2014-09-22 17:21:29 +02:00
Fabrice Laporte
e4180e406e
fix flake8
2014-09-21 14:44:22 +02:00
Fabrice Laporte
c1224caab5
Merge branch 'fetchart_issue848'
...
Conflicts:
test/test_embedart.py
2014-09-21 14:23:59 +02:00
Fabrice Laporte
f5520d7ec9
fix flake8 warnings
2014-09-20 12:27:27 +02:00
Fabrice Laporte
d684229816
skip art compare tests if no recent IM version
2014-09-20 12:26:36 +02:00
Thomas Scholtes
79d1203541
Remove unnecessary method on ImportTask
2014-09-18 19:32:29 +02:00
Thomas Scholtes
56aba87fdc
convert: Test skip existing files
...
Reproduces #970
2014-09-18 17:01:17 +02:00
Thomas Scholtes
d0ac66bfe6
Fix oldstyle object initializer for py26
2014-09-18 16:51:11 +02:00
Thomas Scholtes
1e45ba597d
embed_item function does not raise if image file not found
...
Fixes #968
2014-09-18 16:19:05 +02:00
Fabrice Laporte
cf372f72a6
reduce image sizes
2014-09-17 22:57:50 +02:00
Fabrice Laporte
3ec8902ea4
embedart: add tests for 'compare_threshold' option
...
was tricky to write meaningful tests when computing phash of existing 6
pixels image (image-2x3.jpg) so I added new -more representatives-
images.
2014-09-17 22:04:45 +02:00
Thomas Scholtes
db391c8f20
zero: Only changes media file tags not database
...
Uses the new API from the previous commit and fixes #963 .
There is a possible issue with backwards compatibility: Changes to the
item in the 'write' event do not propagate to the tags anymore. But I'm
not aware of other plugins that use the API in that way.
2014-09-17 12:17:20 +02:00
Thomas Scholtes
0bf7c06f7d
Media file tags can be customized with the `write` event
2014-09-17 12:05:17 +02:00
Thomas Scholtes
ad71af2c3d
Add NoneQuery
...
This makes fast SQL queries for singletons possible
2014-09-17 11:23:00 +02:00
Adrian Sampson
5f2ca0b75b
Rename smartartist to artist/albumartist ( #953 )
...
This is basically always what you want, so now you can just use the name of
the field without "smart".
2014-09-16 14:53:16 -07:00
Adrian Sampson
2795a01e28
Default sort configuration is global ( #953 )
...
It would be nice to cache the Sort object so we didn't have to re-parse this
every time...
2014-09-16 14:34:21 -07:00
Adrian Sampson
0bdd0c7159
Fix mocking in Spotify tests
...
The mock wasn't being triggered; these tests were going to the network. Now we
don't match on the query string and instead test that it was correct by
actually parsing it.
2014-09-16 10:43:53 -07:00
Thomas Scholtes
9a382eb581
Test importing unmatched tracks
2014-09-16 13:44:33 +02:00
Thomas Scholtes
e579db6f0a
Hide task specific code from importer stage
2014-09-16 12:52:15 +02:00
Adrian Sampson
f9c6dd6d67
Move SmartArtistSort to library ( #953 )
...
Models can now have a dict of special sort classes.
2014-09-15 19:43:22 -07:00
Thomas Scholtes
a92493cf12
Test queries on boolean fields
2014-09-15 00:48:18 +02:00
Thomas Scholtes
e5da5757c0
Preserve state in query tests
2014-09-15 00:36:24 +02:00
Adrian Sampson
72436644a6
Merge pull request #909 from arogl/master
...
Clean up of logging messages as described here
2014-09-14 13:14:35 -07:00
Adrian Sampson
8ec4f8bc24
Merge pull request #958 from geigerzaehler/item-sync
...
Update database mtimes in modify and write commands
2014-09-14 12:09:55 -07:00
Thomas Scholtes
b86669fe05
Add integer query tests
2014-09-14 16:11:13 +02:00
Thomas Scholtes
84acf17855
Test that mtimes are updated when writing files
...
Follows the discussion in #937 and the wiki [1].
[1]: https://github.com/sampsyo/beets/wiki/Architecture#modification-times-mtime
2014-09-14 14:19:11 +02:00
Thomas Scholtes
3fe52a7694
Add test helpers to create database fixtures
2014-09-14 14:16:34 +02:00
Thomas Scholtes
bd871cbc03
Don’t interact with files in TypePluginTest
2014-09-14 14:00:34 +02:00
Thomas Scholtes
ffc75c333d
Merge branch 'flextypes'
2014-09-14 13:16:43 +02:00
Adrian Sampson
d081b6a220
Docs for types plugin
2014-09-14 12:35:47 +02:00
Thomas Scholtes
d4f72f62eb
echonest: set types for flexible fields
...
Conflicts:
beetsplug/echonest.py
2014-09-14 12:34:46 +02:00
Thomas Scholtes
aa24fa7c1b
Fix tests on python2.6
2014-09-14 12:34:46 +02:00
Thomas Scholtes
f112c9610c
Add 'types' plugin for flexible field types
...
Conflicts:
beets/library.py
2014-09-14 12:34:46 +02:00
Thomas Scholtes
475d4899ee
Add tests for plugins providing flexible field types
2014-09-14 12:34:45 +02:00
Thomas Scholtes
9a732fbd26
Converted files are tagged and checked in tests
...
The conversion function either copies files or runs the conversion
command on them, depending on the result of the `should_transcode()`
function. This commit makes the tests more sensitive to these cases.
2014-09-14 12:17:05 +02:00
Thomas Scholtes
9e9f645e59
convert: add cli flag to skip confirmation
...
The flag mirrors the `--yes` flag from the modify command.
2014-09-14 11:46:24 +02:00
Thomas Scholtes
75a28de543
Extend and refactor 'never_convert_lossy_files' tests
...
* Each test function only uses on fixture, so we create fixtures in the
test functions and not in the `setup()` method.
* We test the effect of the option set to true and false.
2014-09-14 11:35:01 +02:00
Thomas Scholtes
a37cabb969
Make 'never_convert_lossy_files' tests more meaningful
...
We should expect the original file extensions to be preserved since we
do not transcode lossy files. The tests now fail, but a fix is coming
up.
2014-09-14 11:17:43 +02:00
Adrian Sampson
af60272cc5
Merge pull request #956 from voidus/master
...
Added never_convert_lossy_files option to convert plugin
2014-09-13 23:45:16 -07:00
Adrian Sampson
2b921b19fd
NullSort instead of None
...
A more descriptive placeholder for "don't sort".
2014-09-13 20:38:31 -07:00
Adrian Sampson
76c831a1cd
Merge branch 'master' of github.com:sampsyo/beets
2014-09-13 17:19:04 -07:00
Adrian Sampson
4870d7e0fa
Roll back fast flexible field sorts ( #953 )
...
Sad to see them go, but happy be rid of the SQL injection.
2014-09-13 17:16:12 -07:00
Simon Kohlmeyer
ee6f3dba1b
fix coding style errors
2014-09-13 19:51:23 +02:00
Simon Kohlmeyer
9d55179d2d
Added never_convert_lossy_files option to convert plugin
...
When set to true, this config option chooses copying over converting when the
source file is in a lossy format. At the moment, everything except ape, flac,
alac and wav is considered lossy.
2014-09-13 19:07:25 +02:00
Thomas Scholtes
89c82dc63d
fetchart: correctly handle path encoding
...
* Ensure that `config.as_str_seq()` returns a list of unicode objects.
* Map these to bytestring paths so we can compare them to other paths.
Fixes #887
2014-09-13 16:49:34 +02:00
Thomas Scholtes
0bb6348df3
fetchart: Add test that reproduces #887
2014-09-13 16:39:39 +02:00
Adrian Sampson
bb4082fbfc
Style cleanup in sorting
2014-09-12 20:58:25 -07:00
Thomas Scholtes
fc5f2126bb
Add test helper for adding items
2014-09-11 22:47:55 +02:00
Thomas Scholtes
9ee794beb7
Model.load() should remove flexible fields
2014-09-10 17:22:23 +02:00
Fabrice L.
5a799c7fbe
Merge pull request #924 from nrgetik/patch-1
...
Update genres-tree.yaml using scraping script <https://github.com/nrgetik/genre-cannon >.
2014-09-10 10:23:56 +02:00
Thomas Scholtes
98ae8cbbc9
Make tests conform to PEP8
2014-09-09 22:31:46 +02:00
e5e4eaeacd39c5cfba4d7c852c48277ae50331e6
65de93941d
flake8 cleanup
...
Cleanup after cleanup
2014-09-09 11:28:43 +10:00
e5e4eaeacd39c5cfba4d7c852c48277ae50331e6
66aee8094f
Clean up of logging messages as described here
...
All logging now prefers the ' (single quote) over the " (double quote)
https://github.com/sampsyo/beets/wiki/Hacking
2014-09-09 11:28:43 +10:00
Thomas Scholtes
3ce5dda0c9
Failing tests for empty import directories
...
Reproduces #932 .
2014-09-06 18:52:57 +02:00
Thomas Gordon
98adb35e3f
Change expected result for compatibility with updated genres-tree.yaml
2014-09-06 08:51:31 -04:00
Thomas Scholtes
429f1c1573
PEP8 Fixes
2014-09-05 19:53:46 +02:00
Thomas Scholtes
68bc77362b
Increase test speed by removing unnecessary file operations
2014-09-05 19:49:20 +02:00
Thomas Scholtes
273874f3a2
Refactor cli main function
...
The logic of setting up beets and running a command was scattered
across the `_raw_main` and `_configure` functions. This is an attempt
to bring more structure to the process and to diminish the dependency
on global state.
2014-09-05 19:05:06 +02:00
Thomas Scholtes
3554c0925c
Fix doc and flake8 build (again)
2014-08-26 12:44:23 +02:00
Thomas Scholtes
fe0a2482f3
info: add --summarize option
...
Closes #409 .
2014-08-26 12:32:26 +02:00
Thomas Scholtes
5e4600afd8
info: add tests and omit None values
2014-08-26 12:01:53 +02:00
Thomas Scholtes
b278db42be
info: print library fields and sort output
2014-08-25 23:47:16 +02:00
Thomas Scholtes
a9f839bbf8
info: Specify files through library query
2014-08-25 23:01:02 +02:00
Thomas Scholtes
4835475fb7
Tags are not read while walking the import tree.
...
This makes skipping directories on incremental imports much faster and
fixes #158 .
2014-08-25 18:40:56 +02:00
Thomas Scholtes
b1f670ada3
Move albums_in_dir() from autotag to import module
...
Has nothing to do with the former
2014-08-25 18:40:56 +02:00
Adrian Sampson
dcb21ecfb3
Merge pull request #918 from geigerzaehler/formatting
...
Model formatting: Refactor and fix precedence
2014-08-25 09:02:47 -07:00
Thomas Scholtes
9f4b3b811d
Refactor modfiy command and tests
...
Parsing of the modify command line is handled by `modfiy_parse_args()`.
Test use the command line.
2014-08-25 15:46:57 +02:00
Thomas Scholtes
91c5d0ae12
Item fields take precedence over Album fields in formatting
...
For consistency, this is reversed when formatting paths. Fixes #858 .
2014-08-25 14:38:58 +02:00
Thomas Scholtes
0798af7774
Refactor model formatting
...
Remove all formatting related code from models. It now lives in the
`FormattedMapping` class. Only API change is from `model.formatted` to
`model.formatted()`.
2014-08-25 14:24:39 +02:00
Thomas Scholtes
b512a0ce37
lyrics: Use multiple lyrics search strings.
...
In particular we use the original artist and title before stripping
*and* and *featuring* suffixes.
Fixes #914 .
2014-08-24 16:17:21 +02:00
Thomas Scholtes
225ce62a33
Catch all errors when loading state file.
...
A crash during the multi-threaded import process may leave the pickled
state invalid (see #913 ). We recover from all these errors.
2014-08-24 14:40:38 +02:00
Adrian Sampson
eb579cf14b
Merge pull request #823 from PierreRust/sortquery
...
Sorting support in beets query mecanism (dbcore)
2014-08-22 14:59:44 -07:00
Adrian Sampson
b31ad388b1
Clean up properly after DistanceTest
...
One more ordering dependency. That's all of them, right???
2014-08-19 12:52:48 -07:00
Adrian Sampson
61416da0a7
Better isolation for ConfigTest
2014-08-19 12:27:35 -07:00
Adrian Sampson
6b9df4e0f5
Fix harness in test_zero
...
May have been the cause of some intermittent failures on Travis.
2014-08-19 10:51:48 -07:00
Adrian Sampson
4eb23f7c06
Update tests for #900
2014-08-18 22:26:17 -07:00
Adrian Sampson
3981a6bca0
Merge pull request #892 from olinbg/spotify-plugin
...
Pull request for Spotify plugin development
2014-08-18 17:22:27 -07:00
Adrian Sampson
4ecaa4239f
Fix unittest.skip decorator use
...
This fixes the py26 build.
2014-08-18 17:11:08 -07:00
Adrian Sampson
bf553eae34
MediaFile: detect missing numbers ( fix #901 )
2014-08-18 10:17:01 -07:00
Olin Gay
d076e14515
Complete PEP8 cleanup of spotify plugin
2014-08-17 09:53:54 -04:00
Olin Gay
6bab9a2cae
Merge branch 'master' of https://github.com/sampsyo/beets into spotify-plugin
2014-08-17 08:36:32 -04:00
Adrian Sampson
09b0e1c75d
Add failing test for #899
2014-08-15 12:38:41 -07:00
Adrian Sampson
7de6259c1d
MediaFile: make id3v23 a constructor parameter
...
For #899 , we need to change MediaFile's behavior (pre-write) based on whether
we're doing ID3v2.3 or not. So we need a field on the object, not a parameter
to `save()`.
2014-08-15 12:09:18 -07:00
Thomas Scholtes
76c7ba9186
Add asciify_paths configuration option
2014-08-06 17:53:44 +02:00
Thomas Scholtes
29e4fde571
convert: Simplify format configuration.
...
We don't have to specify the extension. By default it is the same as
the format name.
2014-08-05 12:06:35 +02:00
Thomas Scholtes
b27409684e
convert: Add --format option
...
This option allows the user to specify the format on the command line
instead of editing the configuration.
The commit also includes some refactoring. In particular adding
arguments to functions to avoid dependence on global state.
Doc and Changelog in next commit
2014-08-05 10:45:32 +02:00
Olin Gay
ce4b45ec76
Pull request for Spotify plugin development, see: https://groups.google.com/forum/#!topic/beets-users/2xsOZC-NMNk
2014-08-03 19:55:50 -04:00
Thomas Scholtes
0f2a9bdcdc
Record singletons for incremental import
...
We still need to implement this for flat imports, archives and toppath
singletons. Fixes #860 .
2014-07-31 11:09:16 +02:00
Thomas Scholtes
c5f23cc4f8
Don't write state to disk when nothing changes
2014-07-19 14:17:51 +02:00
Thomas Scholtes
46c9992633
Refactor resuming of imports
...
Instead of recording only the most recently imported path and assuming
that all previous path have also been imported, we record all imported
paths and skip recorded paths when resuming the import.
This fixes an issue where parallelism would screw up the import order
and reimport some files. It also allows us to record singleton items.
We can apply the same strategy can be applied for incremental imports.
2014-07-08 15:06:01 +02:00
Thomas Scholtes
b5426f72a1
Wrap mediafile read exceptions in library.ReadError
...
The ui only handles library Exceptions. Fixes #857 .
2014-07-06 13:19:43 +02:00