-class FeedWrapper(QtCore.QObject):
- def __init__(self, key):
- QtCore.QObject.__init__(self)
- self._key = key
- def _name(self):
- return listing.getFeedTitle(self._key)
- def _unread(self):
- return listing.getFeedNumberOfUnreadItems(self._key)
- def _updatedDate(self):
- return listing.getFeedUpdateTime(self._key)
- def _icon(self):
- return listing.getFavicon(self._key)
- def _feedid(self):
- return self._key
- def _updating(self):
- return false
-
- changed = QtCore.Signal()
-
- title = QtCore.Property(unicode, _name, notify=changed)
- feedid = QtCore.Property(unicode, _feedid, notify=changed)
- unread = QtCore.Property(unicode, _unread, notify=changed)
- updatedDate= QtCore.Property(unicode, _updatedDate, notify=changed)
- icon = QtCore.Property(unicode, _icon, notify=changed)
- updating = QtCore.Property(unicode, _icon, notify=changed)
-
-class FeedsModel(QtCore.QAbstractListModel):
- COLUMNS = ('feed', )
- _category = None
-
- def __init__(self):
- QtCore.QAbstractListModel.__init__(self)
- self._feeds = listing.getListOfFeeds(self._category)
- self.setRoleNames(dict(enumerate(FeedsModel.COLUMNS)))
-
- def rowCount(self, parent=QtCore.QModelIndex()):
- return len(self._feeds)
-
- def data(self, index, role):
- if index.isValid() and role == FeedsModel.COLUMNS.index('feed'):
- print self._feeds[index.row()]
- return FeedWrapper(self._feeds[index.row()])
- return None
-
-class ArticleWrapper(QtCore.QObject):
- def __init__(self, feed, articleid):
- QtCore.QObject.__init__(self)
- self._feed = feed
- self._articleid = articleid
- def _name(self):
- return self.fix_title(self._feed.getTitle(self._articleid))
- def _unread(self):
- return str(self._feed.isEntryRead(self._articleid))
- def _getarticleid(self):
- return self._articleid
- def _updatedDate(self):
- return self._feed.getDateStamp(self._articleid)
- def _path(self):
- return self._feed.getContentLink(self._articleid)
-
- changed = QtCore.Signal()
-
- title = QtCore.Property(unicode, _name, notify=changed)
- articleid = QtCore.Property(unicode, _getarticleid, notify=changed)
- unread = QtCore.Property(unicode, _unread, notify=changed)
- updatedDate= QtCore.Property(unicode, _updatedDate, notify=changed)
- path = QtCore.Property(unicode, _path, notify=changed)
-
-class ArticlesModel(QtCore.QAbstractListModel):
- COLUMNS = ('article', )
- _articles = []
- _key = None
- _feed = None
-
- def __init__(self,):
- QtCore.QAbstractListModel.__init__(self)
- self.setRoleNames(dict(enumerate(ArticlesModel.COLUMNS)))
-
- def updateModel(self, key):
- self._key = key
- self._feed = listing.getFeed(self._key)
- self._articles = self._feed.getIds()
-
- def rowCount(self, parent=QtCore.QModelIndex()):
- print "art " + str(len(self._articles))
- return len(self._articles)
-
- def data(self, index, role):
- print "data" + str(index) + " " + str(role)
- if index.isValid() and role == ArticlesModel.COLUMNS.index('article'):
- return ArticleWrapper(self._articles[index.row()])
- return None
-