mirror of
https://github.com/clinton-hall/nzbToMedia.git
synced 2025-08-14 02:26:53 -07:00
Update vendored beets to 1.6.0
Updates colorama to 0.4.6 Adds confuse version 1.7.0 Updates jellyfish to 0.9.0 Adds mediafile 0.10.1 Updates munkres to 1.1.4 Updates musicbrainzngs to 0.7.1 Updates mutagen to 1.46.0 Updates pyyaml to 6.0 Updates unidecode to 1.3.6
This commit is contained in:
parent
5073ec0c6f
commit
56c6773c6b
385 changed files with 25143 additions and 18080 deletions
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# This file is part of beets.
|
||||
# Copyright 2016, Adrian Sampson.
|
||||
#
|
||||
|
@ -14,7 +13,6 @@
|
|||
# included in all copies or substantial portions of the Software.
|
||||
|
||||
"""Allows beets to embed album art into file metadata."""
|
||||
from __future__ import division, absolute_import, print_function
|
||||
|
||||
import os.path
|
||||
|
||||
|
@ -34,11 +32,11 @@ def _confirm(objs, album):
|
|||
`album` is a Boolean indicating whether these are albums (as opposed
|
||||
to items).
|
||||
"""
|
||||
noun = u'album' if album else u'file'
|
||||
prompt = u'Modify artwork for {} {}{} (Y/n)?'.format(
|
||||
noun = 'album' if album else 'file'
|
||||
prompt = 'Modify artwork for {} {}{} (Y/n)?'.format(
|
||||
len(objs),
|
||||
noun,
|
||||
u's' if len(objs) > 1 else u''
|
||||
's' if len(objs) > 1 else ''
|
||||
)
|
||||
|
||||
# Show all the items or albums.
|
||||
|
@ -53,39 +51,41 @@ class EmbedCoverArtPlugin(BeetsPlugin):
|
|||
"""Allows albumart to be embedded into the actual files.
|
||||
"""
|
||||
def __init__(self):
|
||||
super(EmbedCoverArtPlugin, self).__init__()
|
||||
super().__init__()
|
||||
self.config.add({
|
||||
'maxwidth': 0,
|
||||
'auto': True,
|
||||
'compare_threshold': 0,
|
||||
'ifempty': False,
|
||||
'remove_art_file': False
|
||||
'remove_art_file': False,
|
||||
'quality': 0,
|
||||
})
|
||||
|
||||
if self.config['maxwidth'].get(int) and not ArtResizer.shared.local:
|
||||
self.config['maxwidth'] = 0
|
||||
self._log.warning(u"ImageMagick or PIL not found; "
|
||||
u"'maxwidth' option ignored")
|
||||
self._log.warning("ImageMagick or PIL not found; "
|
||||
"'maxwidth' option ignored")
|
||||
if self.config['compare_threshold'].get(int) and not \
|
||||
ArtResizer.shared.can_compare:
|
||||
self.config['compare_threshold'] = 0
|
||||
self._log.warning(u"ImageMagick 6.8.7 or higher not installed; "
|
||||
u"'compare_threshold' option ignored")
|
||||
self._log.warning("ImageMagick 6.8.7 or higher not installed; "
|
||||
"'compare_threshold' option ignored")
|
||||
|
||||
self.register_listener('art_set', self.process_album)
|
||||
|
||||
def commands(self):
|
||||
# Embed command.
|
||||
embed_cmd = ui.Subcommand(
|
||||
'embedart', help=u'embed image files into file metadata'
|
||||
'embedart', help='embed image files into file metadata'
|
||||
)
|
||||
embed_cmd.parser.add_option(
|
||||
u'-f', u'--file', metavar='PATH', help=u'the image file to embed'
|
||||
'-f', '--file', metavar='PATH', help='the image file to embed'
|
||||
)
|
||||
embed_cmd.parser.add_option(
|
||||
u"-y", u"--yes", action="store_true", help=u"skip confirmation"
|
||||
"-y", "--yes", action="store_true", help="skip confirmation"
|
||||
)
|
||||
maxwidth = self.config['maxwidth'].get(int)
|
||||
quality = self.config['quality'].get(int)
|
||||
compare_threshold = self.config['compare_threshold'].get(int)
|
||||
ifempty = self.config['ifempty'].get(bool)
|
||||
|
||||
|
@ -93,7 +93,7 @@ class EmbedCoverArtPlugin(BeetsPlugin):
|
|||
if opts.file:
|
||||
imagepath = normpath(opts.file)
|
||||
if not os.path.isfile(syspath(imagepath)):
|
||||
raise ui.UserError(u'image file {0} not found'.format(
|
||||
raise ui.UserError('image file {} not found'.format(
|
||||
displayable_path(imagepath)
|
||||
))
|
||||
|
||||
|
@ -104,8 +104,9 @@ class EmbedCoverArtPlugin(BeetsPlugin):
|
|||
return
|
||||
|
||||
for item in items:
|
||||
art.embed_item(self._log, item, imagepath, maxwidth, None,
|
||||
compare_threshold, ifempty)
|
||||
art.embed_item(self._log, item, imagepath, maxwidth,
|
||||
None, compare_threshold, ifempty,
|
||||
quality=quality)
|
||||
else:
|
||||
albums = lib.albums(decargs(args))
|
||||
|
||||
|
@ -114,8 +115,9 @@ class EmbedCoverArtPlugin(BeetsPlugin):
|
|||
return
|
||||
|
||||
for album in albums:
|
||||
art.embed_album(self._log, album, maxwidth, False,
|
||||
compare_threshold, ifempty)
|
||||
art.embed_album(self._log, album, maxwidth,
|
||||
False, compare_threshold, ifempty,
|
||||
quality=quality)
|
||||
self.remove_artfile(album)
|
||||
|
||||
embed_cmd.func = embed_func
|
||||
|
@ -123,15 +125,15 @@ class EmbedCoverArtPlugin(BeetsPlugin):
|
|||
# Extract command.
|
||||
extract_cmd = ui.Subcommand(
|
||||
'extractart',
|
||||
help=u'extract an image from file metadata',
|
||||
help='extract an image from file metadata',
|
||||
)
|
||||
extract_cmd.parser.add_option(
|
||||
u'-o', dest='outpath',
|
||||
help=u'image output file',
|
||||
'-o', dest='outpath',
|
||||
help='image output file',
|
||||
)
|
||||
extract_cmd.parser.add_option(
|
||||
u'-n', dest='filename',
|
||||
help=u'image filename to create for all matched albums',
|
||||
'-n', dest='filename',
|
||||
help='image filename to create for all matched albums',
|
||||
)
|
||||
extract_cmd.parser.add_option(
|
||||
'-a', dest='associate', action='store_true',
|
||||
|
@ -147,7 +149,7 @@ class EmbedCoverArtPlugin(BeetsPlugin):
|
|||
config['art_filename'].get())
|
||||
if os.path.dirname(filename) != b'':
|
||||
self._log.error(
|
||||
u"Only specify a name rather than a path for -n")
|
||||
"Only specify a name rather than a path for -n")
|
||||
return
|
||||
for album in lib.albums(decargs(args)):
|
||||
artpath = normpath(os.path.join(album.path, filename))
|
||||
|
@ -161,10 +163,10 @@ class EmbedCoverArtPlugin(BeetsPlugin):
|
|||
# Clear command.
|
||||
clear_cmd = ui.Subcommand(
|
||||
'clearart',
|
||||
help=u'remove images from file metadata',
|
||||
help='remove images from file metadata',
|
||||
)
|
||||
clear_cmd.parser.add_option(
|
||||
u"-y", u"--yes", action="store_true", help=u"skip confirmation"
|
||||
"-y", "--yes", action="store_true", help="skip confirmation"
|
||||
)
|
||||
|
||||
def clear_func(lib, opts, args):
|
||||
|
@ -189,11 +191,11 @@ class EmbedCoverArtPlugin(BeetsPlugin):
|
|||
|
||||
def remove_artfile(self, album):
|
||||
"""Possibly delete the album art file for an album (if the
|
||||
appropriate configuration option is enabled.
|
||||
appropriate configuration option is enabled).
|
||||
"""
|
||||
if self.config['remove_art_file'] and album.artpath:
|
||||
if os.path.isfile(album.artpath):
|
||||
self._log.debug(u'Removing album art file for {0}', album)
|
||||
self._log.debug('Removing album art file for {0}', album)
|
||||
os.remove(album.artpath)
|
||||
album.artpath = None
|
||||
album.store()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue