Mercurial > hg > Feedworm
view backend/couchdb/Feed.py @ 174:d0ced79b5030
implement expiring read feed entries
author | dirk |
---|---|
date | Fri, 09 Sep 2011 17:21:34 +0200 |
parents | 91a24f499318 |
children | bb3c851b18b1 |
line wrap: on
line source
from couchdb.mapping import BooleanField, DateTimeField, Document, IntegerField, TextField from datetime import datetime, timedelta import CouchDb class Feed(Document): doctype = TextField(default="feed") title = TextField() rss_url = TextField() update_interval = IntegerField(default=60) next_update = DateTimeField() auto_load_entry_link = BooleanField(default=False) always_open_in_browser = BooleanField(default=False) @staticmethod def all(database): return Feed.view(database, CouchDb.feeds()) @staticmethod def create(url, title=None): feed = Feed() feed.rss_url = url feed.title = title return feed def needsUpdate(self): delta = datetime.now() - self.next_update return delta.total_seconds() > self._updateIntervalInSeconds() def incrementNextUpdateDate(self): updateInterval = self._updateIntervalInSeconds() delta = timedelta(seconds=updateInterval) self.next_update = datetime.now() + delta def _updateIntervalInSeconds(self): return self.update_interval * 60