Commit graph

7351 commits

Author SHA1 Message Date
Adrian Sampson
614fbf20ca Tests for #1285: parameterize tests
Also remove an errant `print` and use `rb''` literals for regexes.
2015-01-31 11:24:27 -08:00
Bruno Cauet
f284d8fad5 Handle shlex parse errors in query strings
Provide context: offending query string.
Update changelog.
Fix #1290.
2015-01-31 19:54:07 +01:00
Bruno Cauet
e99adddb11 Importer: byte strings for multi-disc directories
Make regexes from raw byte strings and not unicode.
Update the tests.

Fix #1285
2015-01-31 15:40:49 +01:00
Bruno Cauet
557330e994 Fix open numeric ranges
Also improve InvalidQueryError message and update
NumericQuery._convert() docstring.

Fix #1288.
2015-01-31 14:21:32 +01:00
Malte Ried
a608a5fc36 Plugins are able to return a list of import tasks to create instead of the original import task using the import_task_created event. Needed for #1167 2015-01-31 12:41:01 +01:00
Tom Jaspers
927a53d59b Merge pull request #1281 from tomjaspers/configurable-colors
Colors are now user configurable.

Conflicts:
	beets/ui/__init__.py
	beets/ui/commands.py
2015-01-30 13:48:19 +01:00
Tom Jaspers
0947b8f286 Move color-lookup from config in to the colorize function
The mapping occurs lazily (and only once); now in a more pythonic style
2015-01-30 13:40:55 +01:00
Bruno Cauet
0a37c4652e docs: restore freedesktop in plugins toctree
Every file *has* to be in a toctree
2015-01-30 10:32:41 +01:00
Bruno Cauet
533af4edaa Remove 'freedesktop' from plugins index
+ move thumbnails in the category where freedesktop stood.
2015-01-29 18:15:42 +01:00
Bruno Cauet
d299f40a72 Fix PNG metadata type: string only
instead of int
2015-01-29 16:00:05 +01:00
Tom Jaspers
f483012183 Colorize is now to be called with the abstract color_name instead of the color.
E.g., `colorize('text_success', 'hello world')`

To ensure compatibility with 3rd party plugins, a valid color ('red') can still be passed,
but it will be logged.
2015-01-29 14:33:57 +01:00
Tom Jaspers
ea687baebd Configurable colors: update documentation and changelog 2015-01-29 14:05:00 +01:00
Tom Jaspers
e7378c77a7 Fix tests to use config['ui']['color'] instead of top-level color 2015-01-29 14:04:37 +01:00
Bruno Cauet
39183cd539 Add pyxdg and pathlib to tox.ini testenv 2015-01-29 13:17:51 +01:00
Bruno Cauet
9bdeb01689 Improve thumbnails logging
No info message printed twice per cover art (once for the normal
thumbnail and once for the big one)
2015-01-29 13:11:14 +01:00
Bruno Cauet
a78cc65826 Merge freedesktop plugin into thumbnails
Add test for that new code, update docs, update the changelog.
2015-01-29 13:08:02 +01:00
Bruno Cauet
fa00a8ab23 Update setup.py for tox 2015-01-29 12:19:19 +01:00
Bruno Cauet
bea5ad3f97 thumbnails: fix --force option management 2015-01-29 12:19:19 +01:00
Bruno Cauet
946aa8e4b3 Fix detection of thumbails to generate 2015-01-29 12:19:19 +01:00
Bruno Cauet
c09b01ce74 Add tests for thumbnails plugin 2015-01-29 12:19:19 +01:00
Bruno Cauet
3d64440ef2 Write thumbnails doc & add changelog entry 2015-01-29 12:19:18 +01:00
Bruno Cauet
a39ab5163f thumbnails: add "auto" config option
default: True
2015-01-29 11:24:15 +01:00
Bruno Cauet
e8370044c9 thumbnails: add --force (-f) to force regeneration
It compares thumb mtime vs cover mtime when it should compare
Thumb::mtime thumb metadata vs cover mtime.
2015-01-29 11:24:15 +01:00
Bruno Cauet
540cae0de4 thumbnails: fix detection of local resizing capabilities 2015-01-29 11:24:14 +01:00
Bruno Cauet
180a3ece3b Improve thumbnails docstrings 2015-01-29 11:24:02 +01:00
Bruno Cauet
143e749426 thumbnails plugin writes standard metadata to the thumbnail
Write Thumb::URI and Thumb::MTime as requred by the spec:
http://standards.freedesktop.org/thumbnail-spec/latest/x142.html
2015-01-29 11:23:00 +01:00
Adrian Sampson
fc82f2bb89 Changelog for #1190/#1272 2015-01-28 11:43:35 -08:00
Adrian Sampson
2496867daf Merge pull request #1272 from tomjaspers/master
Display clear error message when MusicBrainz is unreachable
2015-01-28 11:42:40 -08:00
mried
d73a55cf19 Merge pull request #1267 from mried/extractart-for-albums
Extractart for albums
2015-01-28 17:23:42 +01:00
Bruno Cauet
4227e3eabe beets.util.artresizer offers has_PIL() and has_IM()
has_PIL() determines Python Imaging Library version (or None) and
has_IM() does the same for Image Magick.

ArtResizer._check_method() relies on those functions. It also does not
accept a "method" parameter anymore, and neither does ArtResizer(). It
was unused.
2015-01-28 16:24:05 +01:00
Malte Ried
67ecf32671 Fixed typos. 2015-01-28 15:46:16 +01:00
Malte Ried
e2a7f7c153 Merge branch 'master' into extractart-for-albums 2015-01-28 15:44:36 +01:00
Bruno Cauet
61c7c837ec Fix byte string management in ui.print_()
Joining byte strings → prefix ' ' with b
2015-01-28 11:13:54 +01:00
Bruno Cauet
17d6d6529e thumbails: improve logging, update dependencies 2015-01-28 11:12:55 +01:00
Bruno Cauet
d842286726 Improve artresizer.im_getsize()
Specify format on the command line → no problem parsing the output
2015-01-28 11:10:53 +01:00
Adrian Sampson
790c41a73d write: Do not try to write non-writable fields
Fix #1268.
2015-01-27 15:03:19 -08:00
Adrian Sampson
84b42b6f1e Tox: Do not conflate 2.6 with setup.py test
It was confusing to have different ways of running the tests for the two
versions. This also reduced the verbosity, making Travis' web interface more
useful.
2015-01-27 14:04:12 -08:00
Adrian Sampson
ac3ea16656 Fix for unicode_literals in scrub
Here's an example where unicode_literals may not be a great idea: these should
probably be "native" strings, i.e., bytes on 2.x and unicode on 3.x.
2015-01-27 13:48:13 -08:00
Malte Ried
2c75d0567f Made the new functionality the default behaviour. 2015-01-27 19:59:49 +01:00
Malte Ried
07cea16492 Changed the interface of extractart to make it easier to understand what it does. 2015-01-27 19:41:25 +01:00
Malte Ried
2631d88b39 Merge branch 'master' into extractart-for-albums
Conflicts:
	docs/changelog.rst
2015-01-27 19:18:51 +01:00
Bruno Cauet
a200bb3256 ArtResizer: fix IM get image size output parsing 2015-01-27 17:25:28 +01:00
Bruno Cauet
5453cf96c8 thumbnails plugin handles 128² and 256² thumbnails
If the source is good enough both will be produced, otherwise the former
only will be created.

This is warranted by the spec: http://standards.freedesktop.org/thumbnail-spec/latest/x122.html
2015-01-27 17:16:26 +01:00
Bruno Cauet
2d62032a61 ArtResizer can fetch an image file's size
Useful for the thumbnails plugin
2015-01-27 17:16:25 +01:00
Bruno Cauet
55fd2d2886 thumbnails: create thumbnail dirs if needed 2015-01-27 17:16:25 +01:00
Bruno Cauet
5b8a846d1f Add a new plugin: thumbnails
Generate thumbnails for albums, based on freedesktop specification. This
plugin is POSIX-only.

Require Python Imaging Library or Image Magick
2015-01-27 17:16:25 +01:00
Bruno Cauet
154917bbd1 Add unicode() for Distance: show the distance 2015-01-27 12:16:40 +01:00
Bruno Cauet
dbef31776f Replace ur'' strings by r'' strings
Since we use unicode_literals they are equivalent, but ur'' strings are
a syntax error in python 3.0+
2015-01-27 09:02:44 +01:00
Adrian Sampson
be5fe4ae7f Try re-enabling PyPy on Travis
This magically cleared itself up on my machine. Maybe it will work on Travis
too.
2015-01-26 17:22:38 -08:00
Adrian Sampson
35ba6dedfd Tiny tweaks for #1247 2015-01-26 17:21:45 -08:00