projects
/
kiosk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More changes related to running on new kiosk.house.
[kiosk.git]
/
google_news_rss_renderer.py
diff --git
a/google_news_rss_renderer.py
b/google_news_rss_renderer.py
index ad92c26523cf690c0062ee00e1a0ab9332635b97..8653339bb435629abf3a211c422e19eecd011ae5 100644
(file)
--- a/
google_news_rss_renderer.py
+++ b/
google_news_rss_renderer.py
@@
-1,32
+1,47
@@
-from bs4 import BeautifulSoup
-import generic_news_rss_renderer
+#!/usr/bin/env python3
+
+from bs4 import BeautifulSoup # type: ignore
import re
import re
+from typing import Dict, List, Optional
+import xml
+import xml.etree.ElementTree as ET
+
+import generic_news_rss_renderer
class google_news_rss_renderer(generic_news_rss_renderer.generic_news_rss_renderer):
class google_news_rss_renderer(generic_news_rss_renderer.generic_news_rss_renderer):
- def __init__(self, name_to_timeout_dict, feed_site, feed_uris, page_title):
+ def __init__(
+ self,
+ name_to_timeout_dict: Dict[str, int],
+ feed_site: str,
+ feed_uris: List[str],
+ page_title: str,
+ ) -> None:
super(google_news_rss_renderer, self).__init__(
name_to_timeout_dict, feed_site, feed_uris, page_title
)
super(google_news_rss_renderer, self).__init__(
name_to_timeout_dict, feed_site, feed_uris, page_title
)
- self.debug =
1
+ self.debug =
True
- def debug_prefix(self):
+ def debug_prefix(self)
-> str
:
return "google-news"
return "google-news"
- def get_headlines_page_prefix(self):
+ def get_headlines_page_prefix(self)
-> str
:
return "google-news"
return "google-news"
- def get_details_page_prefix(self):
+ def get_details_page_prefix(self)
-> str
:
return "google-news-details"
return "google-news-details"
- def find_description(self, item
)
:
+ def find_description(self, item
: xml.etree.ElementTree.Element) -> str
:
descr = item.findtext("description")
source = item.findtext("source")
descr = item.findtext("description")
source = item.findtext("source")
- if source is not None:
- descr = descr + " (%s)" % source
+ if descr is not None:
+ if source is not None:
+ descr = descr + f" (source)"
+ else:
+ descr = ""
return descr
return descr
- def munge_description_internal(self, descr
)
:
+ def munge_description_internal(self, descr
: str, item: ET.Element) -> str
:
if len(descr) > 450:
descr = descr[:450]
descr = re.sub(r"\<[^\>]*$", "", descr)
if len(descr) > 450:
descr = descr[:450]
descr = re.sub(r"\<[^\>]*$", "", descr)
@@
-34,23
+49,27
@@
class google_news_rss_renderer(generic_news_rss_renderer.generic_news_rss_render
descr += "</A></LI></UL></OL></P>"
return descr
descr += "</A></LI></UL></OL></P>"
return descr
- def munge_description(self, description
)
:
- soup = BeautifulSoup(description)
+ def munge_description(self, description
: str, item: ET.Element) -> str
:
+ soup = BeautifulSoup(description
, features="lxml"
)
for a in soup.findAll("a"):
del a["href"]
descr = str(soup)
for a in soup.findAll("a"):
del a["href"]
descr = str(soup)
- return
munge_description_internal(descr
)
+ return
self.munge_description_internal(descr, item
)
- def find_image(self, item
)
:
+ def find_image(self, item
: xml.etree.ElementTree.Element) -> Optional[str]
:
return None
return None
- def should_use_https(self):
+ def should_use_https(self)
-> bool
:
return True
return True
- def item_is_interesting_for_headlines(self, title, description, item):
+ def item_is_interesting_for_headlines(
+ self, title: str, description: str, item: xml.etree.ElementTree.Element
+ ) -> bool:
return not self.is_item_older_than_n_days(item, 2)
return not self.is_item_older_than_n_days(item, 2)
- def item_is_interesting_for_article(self, title, description, item):
+ def item_is_interesting_for_article(
+ self, title: str, description: str, item: xml.etree.ElementTree.Element
+ ) -> bool:
return not self.is_item_older_than_n_days(item, 2)
return not self.is_item_older_than_n_days(item, 2)