示例#1
0
    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
示例#2
0
    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)