Commit graph

4656 commits

Author SHA1 Message Date
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
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
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
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
Adrian Sampson
d9481a0886 Require a newer enum34
Not sure what was wrong with 0.9, but it was crashing on first use on my
system.
2015-01-26 17:12:10 -08:00
Adrian Sampson
b8dab9cf9f Merge pull request #1247 from brunal/future
Use all __future__ imports in beets core

Conflicts:
	beetsplug/web/__init__.py
	test/test_embedart.py
2015-01-26 17:02:07 -08:00
Adrian Sampson
e3c127b159 Changelog and slight reformatting for #1269 2015-01-26 15:14:45 -08:00
Adrian Sampson
94020963d2 Merge pull request #1269 from brunal/libmodels-formatting
Automatic formatting for Album & Item
2015-01-26 15:12:06 -08:00
Adrian Sampson
1c6b4a7ea7 Fix logical inversion 😳 2015-01-26 15:09:47 -08:00
Adrian Sampson
c1b47bbe9f Tox/Travis: Cut down on dependencies
Faster tests through fewer unnecessary deps.
2015-01-26 15:03:21 -08:00
Adrian Sampson
38fa6ce37d Travis: Retry dependency installation
We're getting lots of spurious checksum failures that are preventing the tests
from running. I hope this makes that situation less common.
2015-01-26 14:50:05 -08:00
Bruno Cauet
4aba4320e6 Rollback ui.print_() auto-conv of args to string
Since this raises problems the best is probably to maintain the base
behaviour: expect byte strings or unicodes.
2015-01-26 23:47:12 +01:00
Fabrice Laporte
fb3332d7ff Update filefilter.rst 2015-01-26 23:26:54 +01:00
Bruno Cauet
4e904c78af Simplify LibModel format management
Delete `ui.format_` and then `ui.print_obj`. Simply ensure that when
there is no format it defaults to '' = default format = config option.
2015-01-26 23:09:56 +01:00
Adrian Sampson
da019c75e3 Fix logging of MusicBrainz errors
Eager formatting was actually causing a failure because it looked like a
template string with an invalid substitution group.
2015-01-26 12:10:06 -08:00
Bruno Cauet
060c275fd3 Merge branch 'master' into libmodels-formatting
Conflicts:
	beetsplug/embedart.py
2015-01-26 10:17:15 +01:00
Bruno Cauet
3787f8a1dd Improve comments on formatting inner workings 2015-01-26 10:14:11 +01:00
Bruno Cauet
065cb59ce7 Restore show_change() logging: MatchInfo, not Item 2015-01-26 09:44:51 +01:00
Adrian Sampson
f2ed7b2373 Fix dumb naming mistake in e0cc68c 2015-01-25 13:18:26 -08:00
Adrian Sampson
2e083f0a8c Changelog wording 2015-01-25 13:12:21 -08:00
Adrian Sampson
e0cc68cf07 Tiny renaming for #1233 2015-01-25 13:03:28 -08:00
Adrian Sampson
a10d9750a6 Merge pull request #1233 from pprkut/tracktotal
Make tracktotal an item-level field.
2015-01-25 13:02:31 -08:00
Adrian Sampson
b5c4edaaf5 Changelog for Wikipedia fetchart backend (#1194) 2015-01-25 13:00:58 -08:00
Adrian Sampson
ec2e9891c3 Merge pull request #1194 from tomjaspers/master
Fetchart: add fetching artwork from Wikipedia
2015-01-25 12:59:13 -08:00
Adrian Sampson
9fe0eab26f Merge pull request #1262 from brunal/embedart-logging
Improve embedart logging management
2015-01-25 12:55:19 -08:00
Bruno Cauet
bd29ab21e1 Delete outdated disabled test in test_library.py
TemplateTest.album_fields_override_item_values() never ran because of
its name (missing 'test_' prefix). When run it now fails for it targets
outdated functionality.
2015-01-25 21:38:29 +01:00
Bruno Cauet
8165dec985 Delete manual formattings of album & item 2015-01-25 21:32:22 +01:00
Bruno Cauet
62cd6e37aa Update ui.print_obj_(), add ui.format_()
Code now relies on `format()` for items and albums displaying/logging.
`ui.print_()` calls `unicode()` or `str()` on the strings so for most
usages calling `ui.print_(obj)` replaces `ui.print_(obj, lib, None)`.

Where there is a special format `ui.print_(format(obj, fmt))` is fine,
but when `fmt` can be None then one has to call
`ui.print_(ui.format_(obj, fmt))` -- which is what `ui.print_obj` now
does.
2015-01-25 21:07:03 +01:00
Bruno Cauet
73d200184b Implement __format__ on Album and Item
Cut the need to format manually (and often incorrectly) when logging by
implementing the __format__ magic method (see PEP 3101) on LibModel
(the parent class of Album & Item).

Based on a discussion in PR #1262
2015-01-25 19:41:49 +01:00
Bruno Cauet
77d46bb2df Embedart logging: higher level for img comparisons 2015-01-25 18:33:20 +01:00
Adrian Sampson
258b63c566 Changelog for #1266 2015-01-24 10:39:06 -08:00
Adrian Sampson
bd81eb1660 Merge pull request #1266 from djl/playlistmkdirs
Fix bug where playlists were not created in subdirs.
2015-01-24 10:37:54 -08:00