mirror of
https://github.com/beetbox/beets.git
synced 2026-01-04 06:53:27 +01:00
Merge pull request #782 from PierreRust/fixRemoveFlexAttr
Fix remove flex attr
This commit is contained in:
commit
452382bffa
3 changed files with 15 additions and 4 deletions
|
|
@ -590,13 +590,16 @@ class FormattedItemMapping(dbcore.db.FormattedMapping):
|
|||
if key in Album.item_keys or key not in item._fields.keys():
|
||||
self.album_keys.append(key)
|
||||
|
||||
def get(self, key):
|
||||
def get(self, key, default=None):
|
||||
if key in self.album_keys:
|
||||
return self.album._get_formatted(key, self.for_path)
|
||||
elif key in self.model_keys:
|
||||
return self.model._get_formatted(key, self.for_path)
|
||||
else:
|
||||
raise KeyError(key)
|
||||
if default is None:
|
||||
raise KeyError(key)
|
||||
else:
|
||||
return default
|
||||
|
||||
def __getitem__(self, key):
|
||||
value = self.get(key)
|
||||
|
|
|
|||
|
|
@ -576,8 +576,8 @@ def _field_diff(field, old, new):
|
|||
return None
|
||||
|
||||
# Get formatted values for output.
|
||||
oldstr = old.formatted.get(field) or u''
|
||||
newstr = new.formatted.get(field) or u''
|
||||
oldstr = old.formatted.get(field, u'')
|
||||
newstr = new.formatted.get(field, u'')
|
||||
|
||||
# For strings, highlight changes. For others, colorize the whole
|
||||
# thing.
|
||||
|
|
|
|||
|
|
@ -225,6 +225,14 @@ class ModifyTest(_common.TestCase):
|
|||
mediafile = MediaFile(item.path)
|
||||
self.assertEqual(mediafile.initial_key, 'C#m')
|
||||
|
||||
def test_remove_flexattr(self):
|
||||
self._modify(["flexattr=testAttr"], write=True)
|
||||
item = self.lib.items().get()
|
||||
self.assertEqual(item.flexattr, 'testAttr')
|
||||
self._modify(dels=["flexattr"], write=True)
|
||||
item = self.lib.items().get()
|
||||
self.assertTrue("flexattr" not in item)
|
||||
|
||||
@unittest.skip('not yet implemented')
|
||||
def test_delete_initial_key_tag(self):
|
||||
item = self.i
|
||||
|
|
|
|||
Loading…
Reference in a new issue