def metadata(self) -> str: """str: the user-displayed metadata of the episode""" description = (helpers.html_to_plain(self.description) if helpers.is_true(Config["clean_html_descriptions"]) else self.description) description = description.replace("\n", "") progress = helpers.seconds_to_time(self.progress / constants.MILLISECONDS_IN_SECOND) downloaded = ("Episode downloaded and available for offline playback." if self.downloaded else "Episode not downloaded.") metadata = ("!cb{title}\n" "{pubdate}\n\n" "{link}\n\n" "!cbCopyright:\n" "{copyright}\n\n" "!cbDownloaded:\n" "{downloaded}\n\n" "!cbDescription:\n" "{description}\n\n" "!cbTime Played:\n" "{progress}\n".format( title=self.title, pubdate=self.pubdate, link=self.link, copyright=self.copyright, downloaded=downloaded, description=description, progress=progress, )) return metadata
def metadata(self) -> str: """str: the user-displayed metadata of the episode""" description = helpers.html_to_plain(self.description) if \ helpers.is_true(Config["clean_html_descriptions"]) else \ self.description description = description.replace('\n', '') downloaded = "Episode downloaded and available for offline playback." \ if self.downloaded else "Episode not downloaded." return \ "!cb{title}\n" \ "{pubdate}\n\n" \ "{link}\n\n" \ "!cbCopyright:\n" \ "{copyright}\n\n" \ "!cbDownloaded:\n" \ "{downloaded}\n\n" \ "!cbDescription:\n" \ "{description}\n".format( title=self.title, pubdate=self.pubdate, link=self.link, copyright=self.copyright, downloaded=downloaded, description=description)
def metadata(self) -> str: """str: the user-displayed metadata of the feed""" description = helpers.html_to_plain(self.description) if \ helpers.is_true(Config["clean_html_descriptions"]) else \ self.description description = description.replace('\n', '') return \ f"\cb{self.title}\n" \ f"{self.last_build_date}\n\n" \ f"{self.link}\n\n" \ f"\cbDescription:\n" \ f"{description}\n\n" \ f"\cbCopyright:\n" \ f"{self.copyright}\n"
def metadata(self) -> str: """str: the user-displayed metadata of the feed""" description = ( helpers.html_to_plain(self.description) if helpers.is_true(Config["clean_html_descriptions"]) else self.description ) description = description.replace("\n", "") return ( "!cb{title}\n" "{last_build_date}\n\n" "{link}\n\n" "!cbCopyright:\n" "{copyright}\n\n" "!cbDescription:\n" "{description}\n".format( title=self.title, last_build_date=self.last_build_date, link=self.link, copyright=self.copyright, description=description, ) )
def _draw_metadata(self, window, feed=None, episode=None) -> None: """Draws the metadata of the selected feed/episode onto the window. Exactly one of feed or episode must be specified. Args: window: the curses window which will display the metadata feed: (optional) the Feed whose metadata will be displayed episode: (optional) the Episode whose metadata will be displayed """ assert window is not None assert feed != episode and (feed is None or episode is None) output_lines = [] # 2D array, each element is [attr, str] max_lines = window.getmaxyx()[0] - 2 max_line_width = window.getmaxyx()[1] - 1 # clear the window by drawing blank lines for y in range(2, window.getmaxyx()[0]): window.addstr(y, 0, " " * max_line_width) if feed is not None: # draw feed title self._append_metadata_lines( window, feed.title, output_lines, attr=curses.A_BOLD) # draw feed lastBuildDate self._append_metadata_lines( window, feed.last_build_date, output_lines, add_blank=True) # draw feed link self._append_metadata_lines( window, feed.link, output_lines, add_blank=True) # draw feed description self._append_metadata_lines( window, "Description:", output_lines, attr=curses.A_BOLD) self._append_metadata_lines( window, helpers.html_to_plain(feed.description) if helpers.is_true(Config["clean_html_descriptions"]) else feed.description, output_lines, add_blank=True) # draw feed copyright self._append_metadata_lines( window, "Copyright:", output_lines, attr=curses.A_BOLD) self._append_metadata_lines( window, feed.copyright, output_lines, add_blank=True) # draw feed number of episodes num_dl = sum([episode.downloaded() for episode in feed.episodes]) self._append_metadata_lines( window, "Episodes:", output_lines, attr=curses.A_BOLD) self._append_metadata_lines( window, "Found %d episodes (%d downloaded)" % ( len(feed.episodes), num_dl ), output_lines) elif episode is not None: # draw episode title self._append_metadata_lines( window, episode.title, output_lines, attr=curses.A_BOLD) # draw episode pubdate self._append_metadata_lines( window, episode.pubdate, output_lines, add_blank=True) # draw episode link self._append_metadata_lines( window, episode.link, output_lines, add_blank=True) # draw episode description self._append_metadata_lines( window, "Description:", output_lines, attr=curses.A_BOLD) self._append_metadata_lines( window, helpers.html_to_plain(episode.description) if helpers.is_true(Config["clean_html_descriptions"]) else episode.description, output_lines, add_blank=True) # draw episode copyright self._append_metadata_lines( window, "Copyright:", output_lines, attr=curses.A_BOLD) self._append_metadata_lines( window, episode.copyright, output_lines, add_blank=True) # draw episode downloaded self._append_metadata_lines( window, "Downloaded:", output_lines, attr=curses.A_BOLD) self._append_metadata_lines( window, "Episode downloaded and available for offline playback." if episode.downloaded() else "Episode not downloaded.", output_lines) y = 2 for line in output_lines[:max_lines]: window.attrset(curses.color_pair(1)) if line[0] != -1: window.attron(line[0]) window.addstr(y, 0, line[1]) y += 1 + line[1].count('\n')