def mpris(self):
if self._kill:<EOL><INDENT>raise KeyboardInterrupt<EOL><DEDENT>current_player_id = self._player_details.get("<STR_LIT:id>")<EOL>cached_until = self.py3.CACHE_FOREVER<EOL>if self._player is None:<EOL><INDENT>text = self.format_none<EOL>color = self.py3.COLOR_BAD<EOL>composite = [{"<STR_LIT>": text, "<STR_LIT>": color}]<EOL>self._data = {}<EOL><DEDENT>else:<EOL><INDENT>self._init_data()<EOL>(text, color, cached_until) = self._get_text()<EOL>self._control_states = self._get_control_states()<EOL>buttons = self._get_response_buttons()<EOL>composite = self.py3.safe_format(self.format, dict(text, **buttons))<EOL><DEDENT>if self._data.get(<EOL>"<STR_LIT>"<EOL>) or current_player_id != self._player_details.get("<STR_LIT:id>"):<EOL><INDENT>self._tries += <NUM_LIT:1><EOL>if self._tries < <NUM_LIT:3>:<EOL><INDENT>return self.mpris()<EOL><DEDENT>composite = [<EOL>{"<STR_LIT>": "<STR_LIT>", "<STR_LIT>": self.py3.COLOR_BAD}<EOL>]<EOL>cached_until = self.py3.time_in(<NUM_LIT:1>)<EOL><DEDENT>response = {<EOL>"<STR_LIT>": cached_until,<EOL>"<STR_LIT>": color,<EOL>"<STR_LIT>": composite,<EOL>}<EOL>self._tries = <NUM_LIT:0><EOL>return response<EOL>
Get the current output format and return it.