raise
items = []
+max_age = 0
@set_hook("checkconfig")
if not cfg.has_key("rss_file"):
log('no "rss_file:" configured, using "feed.rss":', 4)
cfg.rss_file = "feed.rss"
+ if not cfg.has_key("rss_max_items"):
+ cfg.rss_max_items = 0
+ if cfg.has_key("rss_max_age_days"):
+ import time
+ global max_age
+ max_age = int(time.time()) - int(cfg.rss_max_age_days)*86400
# Helper class needed for datetime.datetime to generate GMT timestamps
global items
file = params.file
+ if max_age and file["mtime"] < max_age:
+ return
if not file.has_key("linktitle"):
return
if file.has_key("change"):
@set_hook("finish")
def finish(params):
+ global items
# Sort items by pubDate, which still holds the mtime
items.sort(key=lambda i: i.pubDate, reverse=True)
+ # Limit to requested number
+ count = int(cfg.rss_max_items)
+ if count:
+ items = items[:count]
+
# convert mtime to real pupDate
for i in items:
i.pubDate = datetime.datetime.fromtimestamp(i.pubDate, utc)