class AtomFeed:
""" Simple XML parser that extracts pages from a atom feed """
ns = "{http://www.w3.org/2005/Atom}"
- def __init__(self, url, callback):
+ def __init__(self, url, callback, errorCallback):
""" Fetches the URL
Parsed pages are sent back to callback by parse()
"""
- getPage(url).addCallback(self.parse, callback).addErrback(self.fail)
-
-
- def fail(self, msg):
- print("CurlyTx", msg)
+ getPage(url).addCallback(self.parse, callback).addErrback(errorCallback)
def parse(self, data, callback):
""" Parse atom feed data into pages list and run callback """
)
elif config.plugins.CurlyTx.feedUrl.value:
from AtomFeed import AtomFeed
- AtomFeed(config.plugins.CurlyTx.feedUrl.value, self.feedPagesReceived)
+ AtomFeed(
+ config.plugins.CurlyTx.feedUrl.value,
+ self.feedPagesReceived, self.feedPagesFail
+ )
else:
self.session.open(
MessageBox, _("No page feed URL defined"), MessageBox.TYPE_ERROR
self["config"].setList(self.getConfigList())
+ def feedPagesFail(self, failure):
+ """ Downloading the page url feed failed somehow """
+ self.session.open(
+ MessageBox,
+ _("Error loading page feed:") + "\n\n" + str(failure.getErrorMessage()),
+ MessageBox.TYPE_ERROR
+ )
+
def keySave(self):
for i in range(0, len(config.plugins.CurlyTx.pages)):
config.plugins.CurlyTx.pages[i].save()