view FeedEntry.py @ 117:dc0a82841a60

add design document for couchdb backend
author Dirk Olmes <dirk@xanthippe.ping.de>
date Sun, 21 Aug 2011 02:44:13 +0200
parents abc0516a1c0c
children
line wrap: on
line source


from datetime import datetime

def compareByUpdateDate(first, second):
    return cmp(first.updated, second.updated)

class FeedEntry(object):
    @staticmethod
    def findById(id, session):
        result = session.query(FeedEntry).filter(FeedEntry.id == id)
        return result.first()

    @staticmethod
    def create(entry):
        new = FeedEntry()
        new.id = entry.id
        new.link = entry.link
        new.title = entry.title
        new.updated = entry.updated_parsed
        new.summary = entry.summary
        return new

    def __init__(self):
        self.create_timestamp = datetime.now()
        self.read = 0

    def __repr__(self):
        return "<FeedEntry (%d) %s>" % (self.pk, self.title)

    def userPresentableString(self):
        return self.title
    
    def toggleRead(self):
        if self.read:
            self.markUnread()
        else:
            self.markRead()
            
    def markRead(self):
        self.read = 1

    def markUnread(self):
        self.read = 0