def getStatus(self): """ Get the current playing song and update the screen. """ uri = yield deferFromDbus(self.player.getPlayingUri) yield self.playingUriChanged(uri) if uri: elapsed = yield deferFromDbus(self.player.getElapsed) self.elapsedChanged(elapsed)
def doChecks(self): song = yield deferFromDbus(self.spotify.GetMetadata) if not len(song): self.noSong() else: oldSongDuration = self.songDuration title, artist, self.songDuration = song['xesam:title'], ', '.join(song['xesam:artist']), song['mpris:length'] / 1000000 if title and artist: scroll_title = '%s - %s' % (artist, title) elif title: scroll_title = '%s' % title elif artist: scroll_title = '%s' % artist else: scroll_title = 'Unknown' if scroll_title != self.scroll_title: self.updateScrollTitle(scroll_title) cur_sec = (yield deferFromDbus(self.spotify.Position)) print cur_sec if cur_sec != self.cur_sec or oldSongDuration != self.songDuration: self.elapsedChanged(cur_sec)
def playingUriChanged(self, uri): """ Signal that is fired when the playing song changes in Rhythmbox. """ if not uri: self.noSong() else: song = yield deferFromDbus(self.shell.getSongProperties, uri) title, artist, self.songDuration = song['title'], song['artist'], song['duration'] self._text[0] = 'Now Playing:'.center(27) self.updateScrollTitle( title and artist and '%s - %s' % (title, artist) or title or artist or 'Unknown' ) self._text[2] = self.makeDurationString(0, self.songDuration).center(27) with self.context(clear_screen = False): self.clear(clear_text= False) self.drawBar(0, self.songDuration)
def buddySignedOff(self, e): name = yield deferFromDbus(self.pidgin.PurpleBuddyGetAlias, e) with self.context(): self.appendLine("offline: %s" % name, center = True)