From 46f742f82f6d0fda347e2ffade32b4b49d30879c Mon Sep 17 00:00:00 2001 From: Richard Arends Date: Sun, 13 Dec 2015 18:42:53 +0100 Subject: [PATCH 1/3] Added support for MPD to display the name before the title if it is available When using a radio stream, the name of the station is often available in currentsong['name']. Just like the 'mpc' CLI client, this change displays the name of the station before the current song title. For example: "Mick Jagger - Let's Work" becomes "Radio 10: Mick Jagger - Let's Work" --- homeassistant/components/media_player/mpd.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/media_player/mpd.py b/homeassistant/components/media_player/mpd.py index b6c89cbfc3f..e1cdadd9ae2 100644 --- a/homeassistant/components/media_player/mpd.py +++ b/homeassistant/components/media_player/mpd.py @@ -141,7 +141,15 @@ class MpdDevice(MediaPlayerDevice): @property def media_title(self): """ Title of current playing media. """ - return self.currentsong['title'] + name = self.currentsong['name'] + title = self.currentsong['title'] + + if name: + separator = ': ' + nameandtitle = (name, title) + return separator.join(nameandtitle) + else: + return title @property def media_artist(self): From 85b62a20c8e7326d4110a22078fa61af8083ed8e Mon Sep 17 00:00:00 2001 From: Richard Arends Date: Sun, 13 Dec 2015 19:46:17 +0100 Subject: [PATCH 2/3] Use format instead of str.join to join name and title --- homeassistant/components/media_player/mpd.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/homeassistant/components/media_player/mpd.py b/homeassistant/components/media_player/mpd.py index e1cdadd9ae2..f84013fd573 100644 --- a/homeassistant/components/media_player/mpd.py +++ b/homeassistant/components/media_player/mpd.py @@ -145,9 +145,7 @@ class MpdDevice(MediaPlayerDevice): title = self.currentsong['title'] if name: - separator = ': ' - nameandtitle = (name, title) - return separator.join(nameandtitle) + return '{}: {}'.format(name, title) else: return title From 035d518cb686d314f586ed6a2acc94e3b59183fe Mon Sep 17 00:00:00 2001 From: Richard Arends Date: Sun, 13 Dec 2015 19:54:10 +0100 Subject: [PATCH 3/3] Expect the case where currentsong['name'] can be absent. Use the .get funtion with a default value set to None --- homeassistant/components/media_player/mpd.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/media_player/mpd.py b/homeassistant/components/media_player/mpd.py index f84013fd573..a61dac88150 100644 --- a/homeassistant/components/media_player/mpd.py +++ b/homeassistant/components/media_player/mpd.py @@ -141,13 +141,13 @@ class MpdDevice(MediaPlayerDevice): @property def media_title(self): """ Title of current playing media. """ - name = self.currentsong['name'] + name = self.currentsong.get('name', None) title = self.currentsong['title'] - if name: - return '{}: {}'.format(name, title) - else: + if name is None: return title + else: + return '{}: {}'.format(name, title) @property def media_artist(self):