def __str__(self):
output = []<EOL>output.append('<STR_LIT>'.format(<EOL>convert.media_type_str(self.media_type)))<EOL>output.append('<STR_LIT>'.format(<EOL>convert.playstate_str(self.play_state)))<EOL>if self.title is not None:<EOL><INDENT>output.append('<STR_LIT>'.format(self.title))<EOL><DEDENT>if self.artist is not None:<EOL><INDENT>output.append('<STR_LIT>'.format(self.artist))<EOL><DEDENT>if self.album is not None:<EOL><INDENT>output.append('<STR_LIT>'.format(self.album))<EOL><DEDENT>if self.genre is not None:<EOL><INDENT>output.append('<STR_LIT>'.format(self.genre))<EOL><DEDENT>position = self.position<EOL>total_time = self.total_time<EOL>if position is not None and total_time is not None and total_time != <NUM_LIT:0>:<EOL><INDENT>output.append('<STR_LIT>'.format(<EOL>position, total_time, float(position)/float(total_time)))<EOL><DEDENT>elif position is not None and position != <NUM_LIT:0>:<EOL><INDENT>output.append('<STR_LIT>'.format(position))<EOL><DEDENT>elif total_time is not None and position != <NUM_LIT:0>:<EOL><INDENT>output.append('<STR_LIT>'.format(total_time))<EOL><DEDENT>if self.repeat is not None:<EOL><INDENT>output.append('<STR_LIT>'.format(<EOL>convert.repeat_str(self.repeat)))<EOL><DEDENT>if self.shuffle is not None:<EOL><INDENT>output.append('<STR_LIT>'.format(self.shuffle))<EOL><DEDENT>return '<STR_LIT:\n>'.join(output)<EOL>
Convert this playing object to a readable string.