Atomstrom/models/feed.py

48 lines
1.4 KiB
Python

#!/usr/bin/env python
#coding: utf-8
from sqlalchemy import Column, Integer, String, Boolean, Enum
from models import Base
class Feed(Base):
__tablename__ = 'feed'
id = Column(Integer, primary_key=True)
url = Column(String(255))
frequency = Column(Integer)
daily = Column(Boolean)
resolveredirects = Column(Boolean)
readability = Column(Boolean)
fullpage = Column(Boolean)
contentcolumn = Column(Enum('summary', 'content', 'fullpage', 'readability'))
html2textcontent = Column(Boolean)
html2textignoreimages = Column(Boolean)
enabled = Column(Boolean)
def __init__(self, url, daily, readability, fullpage, enabled, html2textcontent):
self.url = url
self.daily = daily
self.readability = readability
self.fullpage = fullpage
self.html2textcontent = html2textcontent
self.enabled = enabled
def __unicode__(self):
id = self.id
if self.feedinfo:
title = self.feedinfo.title
last = self.feedinfo.lastsuccessful
else:
title = '<unknown>'
last = '<never>'
entries = len(self.entry)
url = self.url
return u'%3d %s (%d entries, last fetched %s)\n %s' % (id, title, entries, last, url)
def __str__(self):
return unicode(self).encode('utf-8')
def __repr__(self):
return "<Feed('%d','%s')>" % (self.id, self.url)