view backend/couchdb/FeedEntry.py @ 155:a05719a6175e

move common functionality into an abstract backend class, have both backends inherit from it. Implement enough of the couchdb backend that reading feeds (and marking feed entries as read) is possible
author Dirk Olmes <dirk@xanthippe.ping.de>
date Sat, 27 Aug 2011 08:52:03 +0200
parents b290e29a94b5
children e284a37df1d9
line wrap: on
line source


from couchdb.mapping import BooleanField, DateTimeField, Document, TextField
from datetime import datetime

class FeedEntry(Document):
    doctype = TextField(default="feedEntry")
    create_timestamp = DateTimeField(default=datetime.now())
    read = BooleanField(default=False)
    link = TextField()
    title = TextField()
    summary = TextField()
    updated = DateTimeField()
    feed = TextField()

    @staticmethod
    def findByLink(link, database):
#        result = FeedEntry.view(database, "feedtest/feedEntry_by_link", { "key" : link })
#        try:
#            row = iter(result).next()
#            return FeedEntry(row)
#        except StopIteration:
#            return None
        return None

    def markRead(self, database):
        self.read = True
        self.store(database)

    def toggleRead(self, database):
        if self.read:
            self.read = False
        else:
            self.read = True
        self.store(database)