Merge pull request #1591 from jackwilsdon/embedart-remove-art-file

Add `remove_art_file` configuration property to EmbedArt plugin
This commit is contained in:
Adrian Sampson 2015-09-06 22:14:59 -07:00
commit 8963d88380
2 changed files with 16 additions and 0 deletions

View file

@ -37,6 +37,7 @@ class EmbedCoverArtPlugin(BeetsPlugin):
'auto': True,
'compare_threshold': 0,
'ifempty': False,
'remove_art_file': False
})
if self.config['maxwidth'].get(int) and not ArtResizer.shared.local:
@ -62,6 +63,7 @@ class EmbedCoverArtPlugin(BeetsPlugin):
maxwidth = self.config['maxwidth'].get(int)
compare_threshold = self.config['compare_threshold'].get(int)
ifempty = self.config['ifempty'].get(bool)
remove_art_file = self.config['remove_art_file'].get(bool)
def embed_func(lib, opts, args):
if opts.file:
@ -78,6 +80,14 @@ class EmbedCoverArtPlugin(BeetsPlugin):
art.embed_album(self._log, album, maxwidth, False,
compare_threshold, ifempty)
if remove_art_file and album.artpath is not None:
if os.path.isfile(album.artpath):
self._log.debug(u'Removing album art file '
u'for {0}', album)
os.remove(album.artpath)
album.artpath = None
album.store()
embed_cmd.func = embed_func
# Extract command.

View file

@ -58,6 +58,12 @@ file. The available options are:
the aspect ratio is preserved. See also :ref:`image-resizing` for further
caveats about image resizing.
Default: 0 (disabled).
- **remove_art_file**: Automatically remove the album art file for the album
after it has been embedded. This option is best used alongside the
:doc:`FetchArt </plugins/fetchart>` plugin to download art with the purpose of
directly embedding it into the file's metadata without an "intermediate"
album art file.
Default: ``no``.
Note: ``compare_threshold`` option requires `ImageMagick`_, and ``maxwidth``
requires either `ImageMagick`_ or `PIL`_.