Commit graph

5505 commits

Author SHA1 Message Date
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
Tom Jaspers
e7f3987b42 Centralize check and string literal into MusicBrainzAPIError.__init__ for #1190 2015-01-26 22:19:02 +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
Tom Jaspers
d3fce35481 Colors are user configurable
- Colors are mapped on to a dictionary using abstract names (e.g., text_success)
- Add `colors` option under `ui` to allow users to choose their own color scheme
- Move configuration option `color` from top-level to `ui`
- Show deprecation warning if top-level `color` configuration is used (but respect it)

Fix #1238
2015-01-26 17:24:32 +01:00
Tom Jaspers
67e1065229 Display clear error message when MusicBrainz is unreachable: "MusicBrainz not reachable"
Catch musicbrainzngs.WebServiceError before the general musicbrainzngs.MusicBrainzError
Fix #1190
2015-01-26 14:25:32 +01: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
Malte Ried
1988cffbda Merge branch 'extractart-for-albums' of https://github.com/mried/beets into extractart-for-albums 2015-01-25 11:56:04 +01:00
Malte Ried
c43173263c Bugfixes and code rearrange for the extract art for albums feature. Closes #1261 2015-01-25 11:50:05 +01:00
mried
6ac132edf7 Added an option to extract the art file of all matched albums. Closes #1261 2015-01-25 11:50:04 +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
Malte Ried
de7768deae Bugfixes and code rearrange for the extract art for albums feature. Closes #1261 2015-01-24 15:59:13 +01:00
David Logie
29de697a8d Fix bug where playlists were not created in subdirs.
Playlist names containing path separators would cause beets to crash if
the parent directories for the playlist didn't already exist.
2015-01-24 13:00:25 +00:00
Bruno Cauet
23dcdebe9a Merge branch 'master' into embedart-logging
Conflicts:
	beetsplug/embedart.py
2015-01-24 11:31:31 +01:00
mried
b1bf7f3e68 Added an option to extract the art file of all matched albums. Closes #1261 2015-01-24 11:15:36 +01:00
mried
54432d1698 Changelog for #1258 (file name of extracted art is taken from art_filename) 2015-01-24 10:46:32 +01:00
Adrian Sampson
07065b27b3 Merge pull request #1263 from brunal/embedart-better-extract
embedart: try extracting from items until success

Conflicts:
	beetsplug/embedart.py
2015-01-23 11:00:49 -08:00
Adrian Sampson
1a48185b80 Changelog and style for #1260 2015-01-23 10:37:05 -08:00
Adrian Sampson
3336f56a6e Merge pull request #1260 from kiefermat/index_error_on_unknown_cover_type
Fixed IndexError on reading embedded cover art with invalid cover type
2015-01-23 10:34:10 -08:00