Mercurial > hg > Feedworm
view backend/couchdb/Feed.py @ 258:4ca1fac32dde
Pull the constant of days to keep feed entries into the abstract class
author | Dirk Olmes <dirk@xanthippe.ping.de> |
---|---|
date | Tue, 12 Mar 2019 02:39:18 +0100 |
parents | bb3c851b18b1 |
children |
line wrap: on
line source
# -*- coding: utf-8 -*- 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