From 4aa626d263247dcb515878af4f7121a261599b3d Mon Sep 17 00:00:00 2001 From: Pierre Rust Date: Wed, 21 May 2014 00:01:20 +0200 Subject: [PATCH] Add defaut value to formatted mapping dict. This mimics dict get method behavior. --- beets/library.py | 7 +++++-- beets/ui/__init__.py | 4 ++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/beets/library.py b/beets/library.py index 7c1bd5075..44ca3540d 100644 --- a/beets/library.py +++ b/beets/library.py @@ -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) diff --git a/beets/ui/__init__.py b/beets/ui/__init__.py index e798fed2d..00b217850 100644 --- a/beets/ui/__init__.py +++ b/beets/ui/__init__.py @@ -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.