Make format_not_running works again

This commit is contained in:
Thiago Kenji Okada 2016-10-19 16:09:49 -02:00
parent 962578cf61
commit 42b09c8834

View File

@ -4,7 +4,7 @@ from i3pystatus import IntervalModule
import gi import gi
gi.require_version('Playerctl', '1.0') # nopep8 gi.require_version('Playerctl', '1.0') # nopep8
from gi.repository import Playerctl, GLib from gi.repository import Playerctl
class Spotify(IntervalModule): class Spotify(IntervalModule):
@ -51,8 +51,11 @@ class Spotify(IntervalModule):
on_downscroll = 'previous_song' on_downscroll = 'previous_song'
def _get_length(self, metadata): def _get_length(self, metadata):
if not metadata:
return ""
try: try:
time = dict(metadata)["mpris:length"] / 60.0e6 time = metadata["mpris:length"] / 60.0e6
minutes = math.floor(time) minutes = math.floor(time)
seconds = round(time % 1 * 60) seconds = round(time % 1 * 60)
if seconds < 10: if seconds < 10:
@ -64,7 +67,7 @@ class Spotify(IntervalModule):
return length return length
def get_info(self, player): def get_info(self, player):
"""gets player track info from playerctl""" """Get player track info from playerctl"""
result = { result = {
"status": "", "status": "",
@ -76,7 +79,7 @@ class Spotify(IntervalModule):
status = player.props.status status = player.props.status
if status: if status:
result["status"] = self.status.get(status.lower(), None) result["status"] = self.status.get(status.lower(), "")
result["artist"] = player.get_artist() result["artist"] = player.get_artist()
result["title"] = player.get_title() result["title"] = player.get_title()
result["album"] = player.get_album() result["album"] = player.get_album()
@ -87,13 +90,12 @@ class Spotify(IntervalModule):
def run(self): def run(self):
"""Main statement, executes all code every interval""" """Main statement, executes all code every interval"""
try:
self.player = Playerctl.Player(player_name=self.player_name) self.player = Playerctl.Player(player_name=self.player_name)
data = self.get_info(self.player) data = self.get_info(self.player)
if data.get("status", ""):
self.output = {"full_text": formatp(self.format, **data), self.output = {"full_text": formatp(self.format, **data),
"color": self.color} "color": self.color}
except GLib.Error: else:
self.output = {"full_text": self.format_not_running, self.output = {"full_text": self.format_not_running,
"color": self.color_not_running} "color": self.color_not_running}