From 42b09c883418e866844e9c751061e8321dcae525 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Wed, 19 Oct 2016 16:09:49 -0200 Subject: [PATCH] Make format_not_running works again --- i3pystatus/spotify.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/i3pystatus/spotify.py b/i3pystatus/spotify.py index 842a411..1d5e81b 100644 --- a/i3pystatus/spotify.py +++ b/i3pystatus/spotify.py @@ -4,7 +4,7 @@ from i3pystatus import IntervalModule import gi gi.require_version('Playerctl', '1.0') # nopep8 -from gi.repository import Playerctl, GLib +from gi.repository import Playerctl class Spotify(IntervalModule): @@ -51,8 +51,11 @@ class Spotify(IntervalModule): on_downscroll = 'previous_song' def _get_length(self, metadata): + if not metadata: + return "" + try: - time = dict(metadata)["mpris:length"] / 60.0e6 + time = metadata["mpris:length"] / 60.0e6 minutes = math.floor(time) seconds = round(time % 1 * 60) if seconds < 10: @@ -64,7 +67,7 @@ class Spotify(IntervalModule): return length def get_info(self, player): - """gets player track info from playerctl""" + """Get player track info from playerctl""" result = { "status": "", @@ -76,7 +79,7 @@ class Spotify(IntervalModule): status = player.props.status if status: - result["status"] = self.status.get(status.lower(), None) + result["status"] = self.status.get(status.lower(), "") result["artist"] = player.get_artist() result["title"] = player.get_title() result["album"] = player.get_album() @@ -87,13 +90,12 @@ class Spotify(IntervalModule): def run(self): """Main statement, executes all code every interval""" - try: - self.player = Playerctl.Player(player_name=self.player_name) - data = self.get_info(self.player) - + self.player = Playerctl.Player(player_name=self.player_name) + data = self.get_info(self.player) + if data.get("status", ""): self.output = {"full_text": formatp(self.format, **data), "color": self.color} - except GLib.Error: + else: self.output = {"full_text": self.format_not_running, "color": self.color_not_running}