def get_info(self):
        """Return a dictionary with info about the current cmus status."""
        try:
            output = self.call_process(["cmus-remote", "-C", "status"])
        except subprocess.CalledProcessError as err:
            output = err.output
        if output.startswith("status"):
            output = output.splitlines()
            info = {
                "status": "",
                "file": "",
                "position": "",
                "position_percent": "",
                "remaining": "",
                "remaining_percent": "",
                "duration": "",
                "artist": "",
                "album": "",
                "albumartist": "",
                "composer": "",
                "comment": "",
                "date": "",
                "discnumber": "",
                "genre": "",
                "title": "",
                "tracknumber": "",
                "stream": "",
                "status_text": "",
                "play_icon": self.play_icon,
            }

            for line in output:
                if line.startswith("set"):
                    break
                for data in info:
                    match = data + " "
                    if match in line:
                        index = line.index(data)
                        if index < 5:
                            info[data] = line[len(data) + index :].strip()
                            break

            # Set status text
            status = info["status"]
            info["status_text"] = getattr(self, f"{status}_text", self.stopped_text)

            # Format and process duration and position
            if info["position"] != "" and info["duration"] != "" and int(info["duration"]) > 0:
                info["position_percent"] = (
                    str(math.floor(int(info["position"]) / int(info["duration"]) * 100)) + "%"
                )
                info["remaining_percent"] = (
                    str(
                        math.ceil(
                            (int(info["duration"]) - int(info["position"]))
                            / int(info["duration"])
                            * 100
                        )
                    )
                    + "%"
                )
                info["remaining"] = format_time(int(info["duration"]) - int(info["position"]))
                info["position"] = format_time(info["position"])
                info["duration"] = format_time(info["duration"])
            else:
                info["duration"] = ""
                info["position"] = ""

            return info
Return a dictionary with info about the current cmus status.
libqtile/widget/cmus.py