class RSSBaseView(Screen):
"""Base Screen for all Screens used in SimpleRSS"""
- def __init__(self, session):
+ def __init__(self, session, poller):
Screen.__init__(self, session)
+ self.rssPoller = poller
+ self.pollDialog = None
def errorPolling(self, errmsg = ""):
+ # Hide Dialog if shown
+ if self.pollDialog:
+ self.pollDialog.close()
+ self.pollDialog = None
+
+ # TODO: fix error not showing when dialog was just hid (work around by using a timer?)
self.session.open(
MessageBox,
"Error while parsing Feed, this usually means there is something wrong with it.",
# If an empty errorback is wanted the Screen needs to provide it
if errback is None:
errback = self.errorPolling
+
+ # Tell Poller to poll
self.rssPoller.singlePoll(feedid, callback=True, errorback=errback)
- self.session.open(
+
+ # Open Dialog and save locally
+ self.pollDialog = self.session.open(
MessageBox,
"Update is being done in Background.\nContents will automatically be updated when it's done.",
type = MessageBox.TYPE_INFO,
</screen>"""
def __init__(self, session, data, feedTitle="", cur_idx=None, entries=None, nextEntryCB=None, previousEntryCB=None, nextFeedCB=None, previousFeedCB=None):
- RSSBaseView.__init__(self, session)
+ RSSBaseView.__init__(self, session, None)
self.data = data
self.feedTitle = feedTitle
</screen>"""
def __init__(self, session, data, feedTitle = "", newItems=False, nextFeedCB=None, previousFeedCB=None, rssPoller=None, id = None):
- RSSBaseView.__init__(self, session)
+ RSSBaseView.__init__(self, session, rssPoller)
self.data = data
self.feedTitle = feedTitle
self.id = id
self.nextFeedCB=nextFeedCB
self.previousFeedCB=previousFeedCB
- self.rssPoller=rssPoller
self["content"] = RSSList(data)
self["summary"] = Label()
</screen>"""
def __init__(self, session, poller):
- RSSBaseView.__init__(self, session)
+ RSSBaseView.__init__(self, session, poller)
- self.rssPoller = poller
-
self["actions"] = ActionMap([ "OkCancelActions", "MenuActions", "ColorActions" ],
{
"ok": self.showCurrentEntry,
enclosures = []
for entry in current_entry[3]:
enclosures.extend(entry[3])
- RSSBaseView.selectEnclosure(self, enclosures)
\ No newline at end of file
+ RSSBaseView.selectEnclosure(self, enclosures)