Mercurial > hg > Feedworm
view backend/couchdb/CouchDbBackend.py @ 150:babe14449162
the entries for the selected feeds had to be set onto the item delegate so had access to the selected feed entry. Keep the list in one place only (the model) and access it from the item delegate.
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Sat, 27 Aug 2011 06:43:28 +0200 |
parents | c5a427d46703 |
children | a05719a6175e |
line wrap: on
line source
from FeedUpdater import FeedUpdater from Preferences import Preferences from backend.couchdb.Feed import Feed from backend.couchdb.FeedEntry import FeedEntry import couchdb DATABASE = "feedtest" class CouchDbBackend(object): ''' Backend that uses CouchDB for persistence ''' def __init__(self): server = couchdb.Server() self.database = server[DATABASE] def preferences(self): return Preferences(self.database) def getFeeds(self): if self.preferences().showOnlyUnreadFeeds(): return self._getUnreadFeeds() else: # make sure that the results are actually fetched into memory, otherwise we'll pass # a ViewResults instance around which is not what we want return list(Feed.all(self.database)) def _getUnreadFeeds(self): raise Exception("not yet implemented") def toggleRead(self, feedEntry): raise Exception("not yet implemented") def markAllEntriesRead(self, feed): raise Exception("not yet implemented") def createFeed(self, url): raise Exception("not yet implemented") def updateFeed(self, feed, changes): raise Exception("not yet implemented") def deleteFeed(self, feed): raise Exception("not yet implemented") def entriesForFeed(self, feed, hideReadEntries): viewName = "feedtest/feedEntries_by_feed" if hideReadEntries: viewName = "feedtest/unread_feedEntries_by_feed" return list(FeedEntry.view(self.database, viewName)) def markFeedEntriesAsRead(self, entries): raise Exception("not yet implemented") def updateAllFeeds(self): # TODO use a view instead of iterating all feeds allFeeds = Feed.all(self.database) for feed in allFeeds: if feed.needsUpdate(): FeedUpdater(feed, self.database).update() def expireFeedEntries(self): print("Expiring feeds is not yet implemented") # raise Exception("not yet implemented") def dispose(self): # nothing to do here pass