Mercurial > hg > Feedworm
view backend/sqlalchemy/FeedList.py @ 132:63d6d60d37ff
new backend for using CouchDB as persistence mechanism ... currently all methods are unimplemented
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Mon, 22 Aug 2011 19:51:59 +0200 |
parents | 04a730f9d07d |
children |
line wrap: on
line source
from Feed import Feed from FeedEntry import FeedEntry from Preferences import Preferences from sqlalchemy.orm import joinedload def getFeeds(session): preferences = Preferences(session) if preferences.showOnlyUnreadFeeds(): return _getUnreadFeeds(session) else: return Feed.all(session) def _getUnreadFeeds(session): query = session.query(FeedEntry).filter(FeedEntry.read == 0) queryWithOptions = query.options(joinedload("feed")) result = queryWithOptions.all() return _collectFeeds(result) def _collectFeeds(feedEntries): feeds = [entry.feed for entry in feedEntries] uniqueFeeds = set(feeds) return list(uniqueFeeds)