X-Git-Url: http://git.ithinksw.org/~jspiros/reader.git/blobdiff_plain/2c563a536795dae3cc7b973595612e245f66f33b..6a001328ea8a6a093d1b293ad5f07542a871625c:/utils.py diff --git a/utils.py b/utils.py index 24dcdf4..b5f6850 100644 --- a/utils.py +++ b/utils.py @@ -1,4 +1,4 @@ -from .models import Feed, Entry +from .models import Feed, Entry, Subscription, UserEntry import datetime import feedparser @@ -93,7 +93,23 @@ def refresh_all_feeds(): refresh_feed(feed) -def add_feed(url): - feed = Feed(url=url) +def add_feed(url, user=None): + try: + feed = Feed.objects.get(url=url) + except Feed.DoesNotExist: + feed = Feed(url=url) refresh_feed(feed) - return feed \ No newline at end of file + if user is not None: + sub, _ = Subscription.objects.get_or_create(user=user, feed=feed) + return feed + + +def unread_count(user, feed=None): + if feed: + entries = feed.entries + else: + entries = Entry.objects.filter(feed__subscriptions__user=user) + total_entries = entries.count() + read_entries = entries.filter(userentries__user=user, userentries__read=True).count() + return total_entries - read_entries + \ No newline at end of file