2021-01-26 07:33:57 +01:00
|
|
|
# encoding: utf-8
|
2021-01-27 08:32:53 +01:00
|
|
|
"""
|
|
|
|
Simple script to display RSS/Atom feeds in tabulation separated values.
|
|
|
|
|
|
|
|
Values displayed are :
|
|
|
|
- last updated
|
|
|
|
- author(s) (comma separated)
|
|
|
|
- title
|
|
|
|
- link
|
|
|
|
"""
|
|
|
|
|
|
|
|
import argparse
|
|
|
|
import time
|
2021-01-26 07:33:57 +01:00
|
|
|
|
|
|
|
import feedparser
|
|
|
|
|
2021-01-27 08:32:53 +01:00
|
|
|
parser = argparse.ArgumentParser(description="Display RSS/Atom feeds in tabulation separated values.")
|
|
|
|
parser.add_argument("URL", type=str, help="URL to get feed from.")
|
|
|
|
parser.add_argument("-d", "--delay", type=int, help="Delay from when get last news (in minutes).", default=10)
|
|
|
|
args = parser.parse_args()
|
2021-01-26 07:33:57 +01:00
|
|
|
|
2021-01-27 08:32:53 +01:00
|
|
|
for entry in feedparser.parse(args.URL)["entries"]:
|
|
|
|
delay = (time.mktime(time.gmtime()) - time.mktime(entry["updated_parsed"])) / 60
|
|
|
|
if delay <= args.delay:
|
|
|
|
print("\t".join((
|
|
|
|
entry["updated"],
|
|
|
|
",".join([a["name"] for a in entry["authors"]]),
|
|
|
|
entry["title"],
|
|
|
|
entry["link"],
|
|
|
|
)))
|