Mercurial > hg > Feedworm
view backend/AbstractBackend.py @ 192:9d422fa90096
optimize marking feed entries as read: do not round trip to the database if the entry was already marked as read
author | dirk |
---|---|
date | Wed, 21 Sep 2011 13:23:25 +0200 |
parents | 3bcf39181f6e |
children | f74fe7cb5091 |
line wrap: on
line source
from datetime import datetime, timedelta class AbstractBackend(object): def __init__(self): self.feeds = [] self.selectedFeed = None self.feedEntries = None self.selectedFeedEntry = None def dispose(self): pass # # handling of feeds # def selectFeed(self, index): self.selectedFeed = self.feeds[index] self.feedEntries = None return self.selectedFeed def entriesForSelectedFeed(self): if self.feedEntries is None: hideReadEntries = self.preferences().hideReadFeedEntries() self.feedEntries = self._retrieveEntriesForSelectedFeed(hideReadEntries) return self.feedEntries def _calculateExpireDate(self): now = datetime.now() daysToKeepFeedEntries = self.preferences().daysToKeepFeedEntries() delta = timedelta(days=daysToKeepFeedEntries) return now - delta # # handling of the selected feed entry # def selectFeedEntry(self, index): self.selectedFeedEntry = self.feedEntries[index] self._markSelectedFeedEntryRead() return self.selectedFeedEntry