Mercurial > hg > Feedworm
view backend/couchdb/Feed.py @ 147:b290e29a94b5
use couchdb's mapping API instead of manually coding around Rows - much leaner code :-)
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Thu, 25 Aug 2011 11:05:05 +0200 |
parents | 74217db92993 |
children | 7d724cf2dcf7 |
line wrap: on
line source
from couchdb.mapping import BooleanField, DateTimeField, Document, IntegerField, TextField from datetime import datetime, timedelta 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, "feedtest/feeds") 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 = self.next_update + delta def _updateIntervalInSeconds(self): return self.update_interval * 60