diff backend/sqlalchemy/FeedEntry.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 FeedEntry.py@abc0516a1c0c
children bb3c851b18b1
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/backend/sqlalchemy/FeedEntry.py	Sun Aug 21 03:55:16 2011 +0200
@@ -0,0 +1,43 @@
+
+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