Mercurial > hg > Feedworm
view Feed.py @ 50:4b0d686493fb
better error handling while adding feeds: data is only saved if a feed could be created and entries could be retrieved. MainWindow displays feedback in the status bar if an exception occurred while adding a feed.
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Mon, 17 May 2010 04:30:55 +0200 |
parents | a8442c3487b5 |
children | c82f5538733c |
line wrap: on
line source
from datetime import datetime, timedelta import FeedEntry class Feed(object): @staticmethod def all(session): return session.query(Feed).order_by(Feed.title).all() def __init__(self, title, rss_url): self.title = title self.rss_url = rss_url # default: update every 60 minutes self.update_interval = 60 self.incrementNextUpdateDate() self.auto_load_entry_link = False def __repr__(self): return "<Feed (%d) %s>" % (self.pk, self.title) def userPresentableString(self): return self.title def entriesSortedByUpdateDate(self): sortedEntries = list(self.entries) sortedEntries.sort(FeedEntry.compareByUpdateDate) return sortedEntries def incrementNextUpdateDate(self): delta = timedelta(minutes=self.update_interval) self.next_update = datetime.now() + delta