Peter Kessen
53d2c8d9db
Removed unicode_literals from plugins
...
* echonest
* edit
* embedart
* embyupdate
2016-02-20 13:35:54 +01:00
Jack Wilsdon
12cd5306b7
Update copyright dates to 2016
2015-12-30 15:42:06 +00:00
Peter Kessen
3eb8008b11
added encoding as comment in files
...
added line like
# -*- coding: utf-8 -*-
to all files with correct license in header
2015-11-19 18:41:01 +01:00
Adrian Sampson
9f7aa866bd
Use ui.should_write everywhere
...
There sure are a lot of plugins that want to write metadata!
2015-11-07 13:20:09 -08:00
Adrian Sampson
d79d11fb15
Docstring and rewrap for #1675
2015-11-02 16:45:45 -08:00
Adrian Sampson
e84414c822
Fix syntax (and unused variable) in #1675
2015-11-02 16:44:02 -08:00
kooimens
bcef3a7123
Create function remove_artfile
...
Damn it, that was really hard for me:D. First time seriously using python. Please review it carefuly.
2015-11-02 23:56:38 +01:00
kooimens
0257b1077f
Simplify some code
2015-10-30 17:49:57 +01:00
kooimens
0ed98515ad
Embedart: remove_art_file on import
...
Should fix #1662 .
I think the fix is easy. Don't know if it's clean though. Did some tests (+/- 10 albums), all successful. This is the first time I'm using python so please let me know what I should improve:)
2015-10-30 17:04:11 +01:00
Jack Wilsdon
64e33b2d9a
Remove unused import
2015-09-07 01:55:44 +01:00
Jack Wilsdon
38926caebe
Reset album art to None when removed
2015-09-07 01:52:03 +01:00
Jack Wilsdon
9eb4fc530b
Wrap line to ensure it is less than 80 characters
2015-09-06 21:53:34 +01:00
Jack Wilsdon
420b0724a0
Add remove_art_file configuration property
2015-09-06 21:45:15 +01:00
D Andrew Reynhout
c9380abc3b
Test config opt import/write before embedding art ( fixes #1427 )
2015-04-23 15:43:56 -04:00
Adrian Sampson
0af2cdaa3a
New beets.art image utilities
...
This makes it cleaner to share the high-level image-embedding logic between
the `embedart` and `convert` plugins. This resolves a regression, introduced
in f504c786 , that inadvertently activated the former plugin when the latter
was enabled. I also like avoiding cross-plugin imports.
2015-04-05 12:15:38 -07:00
Bruno Cauet
265fa962eb
Merge branch 'master' into thumbnails
2015-03-25 18:17:12 +01:00
Bruno Cauet
9750351a1b
beets.util.command_output() & related receives bytes
...
- May fail with unicode, esp. will non-ascii system path entry.
- Only send it bytes.
- Also applies to subprocess.Popen() & co.
2015-03-04 15:15:46 +01:00
mried
c91e8cb782
Sometimes the extract art test failed because the file type of the extracted image might be PNG or JPG. Belongs to #1328 .
2015-02-19 19:43:07 +01:00
mried
53cefa328e
Changed the path format from unicode to bytes.
2015-02-18 19:06:58 +01:00
Malte Ried
eafdd9e379
Extraction of cover art of albums with non ascii characters lead to a crash.
2015-02-15 19:39:39 +01:00
Bruno Cauet
c6455c269f
Merge branch 'master' into thumbnails
...
Conflicts:
docs/changelog.rst
2015-02-09 16:08:29 +01:00
Thomas Scholtes
51ab099145
Extend item.write() to embed images without changing item
...
Fixes #1241 and geigerzaehler/beets-check#14
Before, `embed_item` would add the images to the item and then call
`item.write()` to write the item data, including the image, to the
file. This would trigger `item.store()` in the `after_write` hook of
the check plugin. This would in turn try to persist the temporary
`images` attribute of the item, resulting in an SQL error.
2015-02-01 15:35:24 +01:00
Bruno Cauet
a72ae5991f
Add send_art event for embedart and thumbnails
...
Album.set_art() sends a 'art_sent' event, with the album as a
parameter. embedart and thumbnails listen to that event, instead of
listening to 'album imported'. Consequences:
- 'embedart' and 'thumbnails' don't have to be after 'fetchart' on the
plugins config line.
- embedart and thumbnails work event when a "beets fetchart" command is
issued.
- if another plugin ever set art then embedart and thumbnails will "just
work" with it.
2015-01-31 21:06:01 +01:00
Malte Ried
67ecf32671
Fixed typos.
2015-01-28 15:46:16 +01: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
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
Bruno Cauet
060c275fd3
Merge branch 'master' into libmodels-formatting
...
Conflicts:
beetsplug/embedart.py
2015-01-26 10:17:15 +01:00
Bruno Cauet
8165dec985
Delete manual formattings of album & item
2015-01-25 21:32:22 +01:00
Bruno Cauet
77d46bb2df
Embedart logging: higher level for img comparisons
2015-01-25 18:33:20 +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
Bruno Cauet
23dcdebe9a
Merge branch 'master' into embedart-logging
...
Conflicts:
beetsplug/embedart.py
2015-01-24 11:31:31 +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
Bruno Cauet
b30c6975a1
Embedart extraction: 'cover' is already the default
...
'cover' is already the default filename (in the absence of a custom
config) so there is no need to re-write that value in the embertart
plugin.
Improve #1258
2015-01-23 18:12:17 +01:00
Bruno Cauet
4a27f83223
embedart: try extracting from items until success
...
Don't stop at the first item but try them all.
Fix #1261
2015-01-23 17:48:37 +01:00
Bruno Cauet
b001a973a3
Improve embedart logging management
...
- better logging levels
- always use the preferred user formatting for items & albums
- improved some messages wording
Fix #1244
2015-01-23 17:39:38 +01:00
Malte Ried
b3803d3472
Extractart uses the configured art_filename. Closes #1258
2015-01-23 17:14:14 +01:00
Adrian Sampson
433d6b7485
embedart: Error on non-existent -f file
...
Fixes #1252 .
2015-01-21 09:07:59 -08:00
Bruno Cauet
a5026100a3
All plugins use unicode_literals
...
Given that part of them has no test I may have broke them
2015-01-20 16:22:27 +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
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
f346853710
embedart: Do not use shell for subprocess
...
This avoids bugs when the filename contains spaces, etc.
Pinging @Kraymer: I gave this a brief test, but can you check whether I messed
anything up more subtly?
Came up when looking at #1241 .
2015-01-18 16:25:23 -08:00
Adrian Sampson
909c96b060
embedart: Handle unparseable IM output ( #1241 )
2015-01-18 16:18:22 -08:00
Bruno Cauet
4babc40fd8
Delete useless "config['mypluginname']" mentions
...
Replace with self.config where this is painless.
More plugins would benefit from this update but that requires turning
functions into methods.
2015-01-12 10:55:59 +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
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
860e7e1483
Update 3 plugins: func → methods, listeners
...
- functions turn into method in order to have the logger object
- registering the listener has to be updated too
2015-01-06 21:42:09 +01:00
Bruno Cauet
b8211a3c4c
Every plugin uses its own logger
...
logging.getLogger(__name__) everywhere!
Several loggers prefixed every log message with [logername], which we
delete here.
2015-01-06 10:35:44 +01: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
45db930457
embedart: restore an apparent typo (which wasn't)
...
hashes → phashes
2015-01-05 07:59:53 +01:00
Bruno Cauet
f5c5666729
Attain pep8-cleanliness
...
No more E12 or E501
2015-01-04 17:29:31 +01:00
Bruno Cauet
7df8bef8b7
Update logging imports: logging → beets.logging
2015-01-04 17:02:27 +01:00
Bruno Cauet
8cac47af2a
Convert beets plugins to lazy logging
2015-01-04 17:02:27 +01:00
Michael Ludwig
c76f8bee46
embedart: Added syspath call to art exists check
2014-12-21 13:08:02 -05:00
Thomas Scholtes
9d3729dc5e
mediafile: Test deleting images and implement it for MP3s
2014-12-01 17:20:16 +01:00
Adrian Sampson
69b7d1f160
Changelog for #1036 ( fix #1028 )
2014-10-28 11:50:36 -07:00
kerobaros
3a56077b0c
Fixed logic error, added a .get(bool).
2014-10-27 21:20:26 -05:00
kerobaros
f782dfd376
I'll get used to this git thing one day. Cleaning up.
2014-10-24 21:36:30 -05:00
kerobaros
d06da6381f
Updating to master to form a new PR.
2014-10-24 21:33:09 -05:00
Adrian Sampson
a7b7e23436
Minor fixes for #1033
2014-10-24 16:46:55 -07:00
kerobaros
9a191baca4
Working on issue #1028 , resize images only once per album.
2014-10-24 15:01:52 -05:00
kerobaros
ca431b0bf8
Seperated some code out from extract() into get_art(item). Cleaner and quicker way to check for embedded art.
2014-10-23 22:37:19 -05:00
kerobaros
7f37514bb9
Whoops, trailing space. Take 2.
2014-10-23 21:17:42 -05:00
kerobaros
9be753736b
Slight style tweaks.
2014-10-23 21:13:30 -05:00
kerobaros
e06f492f91
Whoops, take two.
2014-10-23 15:31:38 -05:00
kerobaros
75b62b723f
Added "ifempty" config to embedart plugin, re: issue 1020
2014-10-23 15:27:15 -05:00
Adrian Sampson
7754fe5a40
embedart: Fix logging during import ( #1014 )
...
Regression introduced in 2813cd26c1 .
2014-10-14 09:42:11 -07:00
Adrian Sampson
b777bde0af
Fix #1006 : errant info-level log
...
Introduced in e99df7bc65 .
2014-10-11 15:05:01 -07:00
Adrian Sampson
983aac287b
Add a displayable_path call in embedart ( fix #995 )
2014-10-09 11:13:39 -07:00
Adrian Sampson
d17c148e52
Minor fixes, changelog for #974
2014-09-25 15:33:52 -07:00
Fabrice Laporte
d2cf41fc70
restore command_output() implementation as of 0ec285f
2014-09-22 13:49:23 +02:00
Fabrice Laporte
c1224caab5
Merge branch 'fetchart_issue848'
...
Conflicts:
test/test_embedart.py
2014-09-21 14:23:59 +02:00
Fabrice Laporte
1c2448c3e0
add can_compare flag to ArtResizer
2014-09-20 12:19:10 +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
1bffe2a7bf
obey Travis orders
2014-09-17 22:57:38 +02:00
Fabrice Laporte
e99df7bc65
embedart: add compare_threshold option
...
if compare_threshold > 0 we call check_art_similarity to return sooner
if it happens that candidate image and embedded one are similar.
2014-09-17 22:01:08 +02: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
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
2813cd26c1
Refactor embedart to work at item level
...
Embedding images now triggers the `*_write` plugin events. This
allows *beets-check* to update the checksum. See the [beets-check
issue][1].
[1]: https://github.com/geigerzaehler/beets-check/issues/7
2014-06-02 17:10:48 +02:00
Thomas Scholtes
9090f0979f
Use new _embed api
2014-04-26 19:44:29 +02:00
Thomas Scholtes
9b88525736
Make function to embed art agnostic of items
2014-04-26 19:41:44 +02:00
Thomas Scholtes
73a1b63f7d
Catch and log file errors when embedding images
...
Fixes #723 .
2014-04-25 12:33:19 +02:00
Adrian Sampson
e5a9db1cac
fix up some indentation warnings in plugins
2014-04-13 17:55:49 -07:00
Adrian Sampson
fb37be44db
restore some comments from #684
...
I wanted to leave a few of these as comments -- they serve more as separators
than as internal documentation.
2014-04-13 17:43:43 -07:00
Fabrice Laporte
3ead936fe5
flake8 cleaning beetsplug/*
...
Remaining warnings are related to visual indentation.
2014-04-13 23:24:57 +02:00
Adrian Sampson
33b44717ab
embedart: catch log errors ( fix #678 )
2014-04-10 11:24:59 -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
Thomas Scholtes
071a5c363d
Use new MediaFile api to embed art
2014-04-08 01:41:26 +02:00
Chris Cogburn
d0c3cb5779
Fix for id3v23 to include config parameter to save
2013-11-05 21:27:26 -06:00
Adrian Sampson
19958f75ff
embedart: fix error message when imagehdr fails
2013-09-12 10:45:02 -07:00
Lucas Duailibe
51ed0939d6
fixing things
2013-03-25 15:20:38 -03:00
Lucas Duailibe
56c53acbab
human-friendly error messages ( #125 )
2013-03-25 11:24:42 -03:00
Adrian Sampson
f8d6e84581
invert new embedart switch ( #182 )
...
The default behavior now does what most people probably expect, which is to
run like the on-import handler for the embedart plugin.
2013-03-17 22:50:28 -07:00
Lucas Duailibe
0c53c0bc3f
option to embed current album arts ( closes #182 )
2013-03-17 22:52:51 -03:00
Adrian Sampson
6898d95b9e
allow convert to be used without embedart enabled
2013-01-23 15:56:49 -08:00
Adrian Sampson
7a410f636b
happy new year ✨
...
For future reference, this command did the trick:
ack -l 'Copyright 201' | xargs perl -pi -E 's/Copyright 201./Copyright 2013/'
2013-01-11 10:43:41 -08:00
Adrian Sampson
6d68a4855e
per-plugin configuration defaults in __init__()
...
This uses the new BeetsPlugin.config convenience view heavily. Things are
slowly getting less verbose.
2012-12-18 22:35:44 -08:00
Adrian Sampson
6c94358b13
begin Confit-ifying plugins in alphabetical order
2012-12-13 12:31:10 -08:00