mirror of
https://github.com/rembo10/headphones.git
synced 2026-05-16 00:25:31 +01:00
Pulled in a few beets updates
This commit is contained in:
@@ -242,6 +242,6 @@ def apply_metadata(album_info, mapping):
|
||||
item[field] = value
|
||||
if track_info.disctitle is not None:
|
||||
item.disctitle = track_info.disctitle
|
||||
|
||||
|
||||
# Headphones seal of approval
|
||||
item.comments = 'tagged by headphones/beets'
|
||||
|
||||
@@ -21,7 +21,7 @@ from beets import plugins
|
||||
from beets import config
|
||||
from beets.autotag import mb
|
||||
from beets.util import levenshtein
|
||||
from lib.unidecode import unidecode
|
||||
from unidecode import unidecode
|
||||
|
||||
log = logging.getLogger('beets')
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ from __future__ import division
|
||||
import datetime
|
||||
import logging
|
||||
import re
|
||||
from lib.munkres import Munkres
|
||||
from munkres import Munkres
|
||||
|
||||
from beets import plugins
|
||||
from beets import config
|
||||
|
||||
@@ -21,7 +21,7 @@ import logging
|
||||
import shlex
|
||||
import unicodedata
|
||||
import time
|
||||
from lib.unidecode import unidecode
|
||||
from unidecode import unidecode
|
||||
from beets.mediafile import MediaFile, MutagenError
|
||||
from beets import plugins
|
||||
from beets import util
|
||||
|
||||
@@ -1082,7 +1082,7 @@ default_commands.append(version_cmd)
|
||||
|
||||
# modify: Declaratively change metadata.
|
||||
|
||||
def modify_items(lib, mods, query, write, move, album, confirm):
|
||||
def modify_items(lib, mods, dels, query, write, move, album, confirm):
|
||||
"""Modifies matching items according to key=value assignments."""
|
||||
# Parse key=value specifications into a dictionary.
|
||||
model_cls = library.Album if album else library.Item
|
||||
@@ -1102,6 +1102,8 @@ def modify_items(lib, mods, query, write, move, album, confirm):
|
||||
for obj in objs:
|
||||
for field, value in fsets.iteritems():
|
||||
obj[field] = value
|
||||
for field in dels:
|
||||
del obj[field]
|
||||
if ui.show_model_changes(obj):
|
||||
changed.add(obj)
|
||||
|
||||
@@ -1155,13 +1157,22 @@ modify_cmd.parser.add_option('-f', '--format', action='store',
|
||||
help='print with custom format', default=None)
|
||||
def modify_func(lib, opts, args):
|
||||
args = decargs(args)
|
||||
mods = [a for a in args if '=' in a]
|
||||
query = [a for a in args if '=' not in a]
|
||||
if not mods:
|
||||
mods = []
|
||||
dels = []
|
||||
query = []
|
||||
for arg in args:
|
||||
if arg.endswith('!') and '=' not in arg and ':' not in arg:
|
||||
dels.append(arg[:-1])
|
||||
elif '=' in arg:
|
||||
mods.append(arg)
|
||||
else:
|
||||
query.append(arg)
|
||||
if not mods and not dels:
|
||||
raise ui.UserError('no modifications specified')
|
||||
write = opts.write if opts.write is not None else \
|
||||
config['import']['write'].get(bool)
|
||||
modify_items(lib, mods, query, write, opts.move, opts.album, not opts.yes)
|
||||
modify_items(lib, mods, dels, query, write, opts.move, opts.album,
|
||||
not opts.yes)
|
||||
modify_cmd.func = modify_func
|
||||
default_commands.append(modify_cmd)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user