projects
/
kiosk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix cameras, improve weather, delegate health renderer to a helper,
[kiosk.git]
/
seattletimes_rss_renderer.py
diff --git
a/seattletimes_rss_renderer.py
b/seattletimes_rss_renderer.py
index 18ed2fc3b97e9de3c64e32538a7349d160be6bf1..7b39bca4a974ac3e82ee2b9528abec7d4eb6989a 100644
(file)
--- a/
seattletimes_rss_renderer.py
+++ b/
seattletimes_rss_renderer.py
@@
-1,14
+1,23
@@
-import datetime
+#!/usr/bin/env python3
+
+import logging
+from typing import Dict, List
+import xml
+
import generic_news_rss_renderer as gnrss
import generic_news_rss_renderer as gnrss
+logger = logging.getLogger(__file__)
+
+
class seattletimes_rss_renderer(gnrss.generic_news_rss_renderer):
interesting_categories = frozenset(
[
"Nation",
"World",
"Life",
class seattletimes_rss_renderer(gnrss.generic_news_rss_renderer):
interesting_categories = frozenset(
[
"Nation",
"World",
"Life",
- "Technology" "Local News",
+ "Technology",
+ "Local News",
"Food",
"Drink",
"Today File",
"Food",
"Drink",
"Today File",
@@
-22,63
+31,71
@@
class seattletimes_rss_renderer(gnrss.generic_news_rss_renderer):
]
)
]
)
- def __init__(self, name_to_timeout_dict, feed_site, feed_uris, page_title):
- super(seattletimes_rss_renderer, self).__init__(
+ 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
)
name_to_timeout_dict, feed_site, feed_uris, page_title
)
- def debug_prefix(self):
- return "seattletimes"
-
- def get_headlines_page_prefix(self):
+ def get_headlines_page_prefix(self) -> str:
return "seattletimes-nonnews"
return "seattletimes-nonnews"
- def get_details_page_prefix(self):
+ def get_details_page_prefix(self)
-> str
:
return "seattletimes-details-nonnews"
return "seattletimes-details-nonnews"
- 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:
if item.tag != "item":
if item.tag != "item":
-
self.debug_print("Item.tag isn't item?!"
)
+
logger.debug(f'{title}: item.tag ({item}) isn\'t "item"?!'
)
return False
if self.is_item_older_than_n_days(item, 14):
return False
if self.is_item_older_than_n_days(item, 14):
-
self.debug_print("%s: is too old!" % title
)
+
logger.info(f'{title}: too old to be interesting.'
)
return False
details = {}
return False
details = {}
- for detail in
item.getchildren(
):
-
self.debug_print
(
- "detail %s => %s (%s)" % (detail.tag, detail.attrib, detail.text)
+ for detail in
list(item
):
+
logger.debug
(
+ f'detail {detail.tag} => {detail.attrib} ({detail.text})'
)
)
- if detail.text
!=
None:
+ if detail.text
is not
None:
details[detail.tag] = detail.text
details[detail.tag] = detail.text
- if "category" not in details:
- self.debug_print("No category in details?!")
- self.debug_print(details)
+ if 'category' not in details:
+ logger.debug(f'{title}: no category in details?')
return False
return False
-
interesting = False
for x in seattletimes_rss_renderer.interesting_categories:
if x in details["category"]:
interesting = False
for x in seattletimes_rss_renderer.interesting_categories:
if x in details["category"]:
- self.debug_print("%s looks like a good category." % x)
+ logger.debug(
+ f'{x} looks like a good category.'
+ )
interesting = True
interesting = True
- if not interesting:
- return False
- return True
+ break
+ return interesting
- 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:
if self.is_item_older_than_n_days(item, 14):
if self.is_item_older_than_n_days(item, 14):
- self.debug_print("%s: is too old!" % title)
+ logger.info(
+ f'{title}: is too old to be interesting.'
+ )
return False
return len(description) >= 65
# Test
return False
return len(description) >= 65
# Test
-#
x = seattletimes_rss_renderer({"Test", 123},
+#x = seattletimes_rss_renderer({"Test", 123},
# "www.seattletimes.com",
# "www.seattletimes.com",
-# [ "/
life/feed/"
],
+# [ "/
outdoors/feed/", '/live/feed/'
],
# "nonnews")
# "nonnews")
-#
x.periodic_render("Fetch News")
-#
x.periodic_render("Shuffle News")
+#x.periodic_render("Fetch News")
+#x.periodic_render("Shuffle News")