From 6e2fb17f191047553d81c22d189d494d9d80faac Mon Sep 17 00:00:00 2001 From: Richard Arends Date: Tue, 29 Dec 2015 17:52:05 +0100 Subject: [PATCH 1/4] Fix KeyError on 'title' when title is empty --- homeassistant/components/media_player/mpd.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/media_player/mpd.py b/homeassistant/components/media_player/mpd.py index a61dac88150..9d48f1458eb 100644 --- a/homeassistant/components/media_player/mpd.py +++ b/homeassistant/components/media_player/mpd.py @@ -142,12 +142,15 @@ class MpdDevice(MediaPlayerDevice): def media_title(self): """ Title of current playing media. """ name = self.currentsong.get('name', None) - title = self.currentsong['title'] + title = self.currentsong.get('title', None) if name is None: return title else: - return '{}: {}'.format(name, title) + if title is None: + return name + else: + return '{}: {}'.format(name, title) @property def media_artist(self): From 56a2ffca1dcbc404c9a33eb8bab33f572934569c Mon Sep 17 00:00:00 2001 From: Richard Arends Date: Tue, 29 Dec 2015 22:10:09 +0100 Subject: [PATCH 2/4] Changed if else statements. The following situations are handled now: - name and title can be None - name can be None - title can be None - name and title can contain data --- homeassistant/components/media_player/mpd.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/homeassistant/components/media_player/mpd.py b/homeassistant/components/media_player/mpd.py index 9d48f1458eb..c15982945a9 100644 --- a/homeassistant/components/media_player/mpd.py +++ b/homeassistant/components/media_player/mpd.py @@ -144,13 +144,14 @@ class MpdDevice(MediaPlayerDevice): name = self.currentsong.get('name', None) title = self.currentsong.get('title', None) - if name is None: + if name is None and title is None: + return "No information received from MPD" + elif name is None: return title + elif title is None: + return name else: - if title is None: - return name - else: - return '{}: {}'.format(name, title) + return '{}: {}'.format(name, title) @property def media_artist(self): From 429904c437b38223274a95d4f2be4b113068a080 Mon Sep 17 00:00:00 2001 From: Richard Arends Date: Wed, 30 Dec 2015 13:00:34 +0100 Subject: [PATCH 3/4] Returning None when name and title are both not available Removed trailing whitespaces --- homeassistant/components/media_player/mpd.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/media_player/mpd.py b/homeassistant/components/media_player/mpd.py index c15982945a9..285607360ac 100644 --- a/homeassistant/components/media_player/mpd.py +++ b/homeassistant/components/media_player/mpd.py @@ -145,11 +145,11 @@ class MpdDevice(MediaPlayerDevice): title = self.currentsong.get('title', None) if name is None and title is None: - return "No information received from MPD" + return "None" elif name is None: return title elif title is None: - return name + return name else: return '{}: {}'.format(name, title) From 913c5ab47c2e07a5b964a484c7ef1c67cf8c0365 Mon Sep 17 00:00:00 2001 From: Richard Arends Date: Wed, 30 Dec 2015 13:26:42 +0100 Subject: [PATCH 4/4] identing error... sorry --- homeassistant/components/media_player/mpd.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/components/media_player/mpd.py b/homeassistant/components/media_player/mpd.py index 285607360ac..27b5aa3863c 100644 --- a/homeassistant/components/media_player/mpd.py +++ b/homeassistant/components/media_player/mpd.py @@ -145,7 +145,7 @@ class MpdDevice(MediaPlayerDevice): title = self.currentsong.get('title', None) if name is None and title is None: - return "None" + return "None" elif name is None: return title elif title is None: