#!/usr/bin/env python3 import xml from typing import Dict, List, Optional import generic_news_rss_renderer as gnrssr class wsj_rss_renderer(gnrssr.generic_news_rss_renderer): def __init__( self, name_to_timeout_dict: Dict[str, int], feed_site: str, feed_uris: List[str], page_title: str, ): super().__init__( name_to_timeout_dict, feed_site, feed_uris, page_title ) self.debug = True def debug_prefix(self) -> str: return f"wsj({self.page_title})" def get_headlines_page_prefix(self) -> str: return f"wsj-{self.page_title}" def get_details_page_prefix(self) -> str: return f"wsj-details-{self.page_title}" def find_image(self, item: xml.etree.ElementTree.Element) -> Optional[str]: return None def should_use_https(self) -> bool: return True def item_is_interesting_for_headlines( self, title: str, description: str, item: xml.etree.ElementTree.Element ) -> bool: if self.is_item_older_than_n_days(item, 7): return False return "WSJ.com" not in title and "WSJ.com" not in description def item_is_interesting_for_article( self, title: str, description: str, item: xml.etree.ElementTree.Element ) -> bool: if self.is_item_older_than_n_days(item, 7): return False return "WSJ.com" not in title and "WSJ.com" not in description # Test # x = wsj_rss_renderer( # {"Fetch News" : 1, # "Shuffle News" : 1}, # "feeds.a.dj.com", # [ "/rss/RSSWorldNews.xml" ], # "Test" ) # if x.fetch_news() == 0: # print("Error fetching news, no items fetched.") # x.shuffle_news()