1
3
Fork 0

Factor things out into functions.

This commit is contained in:
Solderpunk 2020-03-18 18:32:00 +01:00
parent d578fdfc99
commit 236d8a9cd0
1 changed files with 23 additions and 16 deletions

View File

@ -4,28 +4,23 @@ import time
import feedparser
import gusmobile
feeds = [
def load_feed_urls():
return (
"gemini://carcosa.net:1965/send-the-nukes/atom.xml",
"gemini://gemini.circumlunar.space:1965/users/solderpunk/hitenheroes/posts/atom.xml",
]
)
def main():
items = []
for feed_url in feeds:
print("Fetching ", feed_url)
resp = gusmobile.fetch(feed_url)
if resp.status == "20":
feed_text = resp.content
feed = feedparser.parse(feed_text)
for entry in feed.entries:
items.append((entry.updated_parsed, entry.link, entry.title, feed.feed.title))
items.sort(reverse=True)
def items_from_feed_string(feed_str):
feed_obj = feedparser.parse(feed_str)
feed = feed_obj.feed
return [(entry.updated_parsed, entry.link, entry.title, feed.title) for entry in feed_obj.entries]
def format_aggregated(items, n_feeds):
current_day = (0,0)
print("# CAPCOM Gemini feed aggregator")
print("")
print("Aggregating {} Atom feeds from Geminispace.".format(len(feeds)))
for item in items[0:64]:
updated, link, entry_title, feed_title = item
print("Aggregating {} Atom feeds from Geminispace.".format(n_feeds))
for updated, link, entry_title, feed_title in items:
item_day = (updated.tm_year, updated.tm_yday)
if item_day != current_day:
current_day = item_day
@ -34,5 +29,17 @@ def main():
print("")
print("=> {} {} - {}".format(link, feed_title, entry_title))
def main():
feed_urls = load_feed_urls()
items = []
for feed_url in feed_urls:
print("Fetching ", feed_url)
resp = gusmobile.fetch(feed_url)
if resp.status == "20":
items.extend(items_from_feed_string(resp.content))
items.sort(reverse=True)
items = items[0:64]
format_aggregated(items, len(feed_urls))
if __name__ == "__main__":
main()