def execute(self): with MpdClientWrapper(self._host, self._port) as cl: status = cl.status() data = cl.currentsong() if "time" in status.keys(): elapsed, total = status["time"].split(":") # get elapsed time as a datetime.time object elapsed = int(elapsed) total = int(total) data["elapsedtime"] = Util.seconds_to_time(elapsed).strftime( self._time_format) data["totaltime"] = Util.seconds_to_time(total).strftime( self._time_format) pattern = None if status["state"] == 'play' and self._layout_playing: pattern = self._layout_playing elif status["state"] == 'pause' and self._layout_paused: pattern = self._layout_paused elif status["state"] == 'stop' and self.layout_stopped: pattern = self._layout_stopped if not pattern: return self._layout % data else: try: res = pattern % data except KeyError: res = self._layout_filenameonly % data return res
def execute(self): data = open("/proc/uptime", "r").readline().split() delta = datetime.fromtimestamp(time.time()) - \ datetime.fromtimestamp(time.time() - float(data[0])) t = Util.seconds_to_time(delta.seconds) return "%d days, %dh, %dm" % (delta.days, t.hour, t.minute)