Mercurial > hg > Feedworm
view backend/sqlalchemy/FeedList.py @ 119:04a730f9d07d backend
move all sqlalchemy related classes to the respective sub-package. use a backend to abstract from access to the data
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Sun, 21 Aug 2011 03:55:16 +0200 |
parents | FeedList.py@5585f3d23541 |
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)