aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2011-11-23 18:09:24 +0100
committerChristian Weiske <cweiske@cweiske.de>2011-11-23 18:09:24 +0100
commit501da75aa8febdf32b57f4ad6761fabcbd10b1dd (patch)
tree8211b863d76e684f6dec9c9697ab3fad972903ba /src
parentd8683e34bef971a36bb56e81af8f13d19c53ebf2 (diff)
downloadenigma2-curlytx-501da75aa8febdf32b57f4ad6761fabcbd10b1dd.tar.gz
enigma2-curlytx-501da75aa8febdf32b57f4ad6761fabcbd10b1dd.zip
get page list feed import working properly
Diffstat (limited to 'src')
-rw-r--r--src/AtomFeed.py6
-rw-r--r--src/CurlyTxSettings.py15
2 files changed, 16 insertions, 5 deletions
diff --git a/src/AtomFeed.py b/src/AtomFeed.py
index 07a6345..f89c22f 100644
--- a/src/AtomFeed.py
+++ b/src/AtomFeed.py
@@ -6,7 +6,11 @@ class AtomFeed:
"""
ns = "{http://www.w3.org/2005/Atom}"
def __init__(self, url, callback):
- getPage(url).addCallback(self.parse, callback)
+ getPage(url).addCallback(self.parse, callback).addErrback(self.fail)
+
+
+ def fail(self, msg):
+ print("CurlyTx", msg)
def parse(self, data, callback):
xml = fromstring(data)
diff --git a/src/CurlyTxSettings.py b/src/CurlyTxSettings.py
index bd6dc1c..23deb23 100644
--- a/src/CurlyTxSettings.py
+++ b/src/CurlyTxSettings.py
@@ -78,6 +78,9 @@ class CurlyTxSettings(ConfigListScreen, HelpableScreen, Screen):
self["actions"], "SetupActions",
[("ok", _("Edit selected page"))]))
self.helpList.append((
+ self["actions"], "SetupActions",
+ [("ok", _("Load pages from feed"))]))
+ self.helpList.append((
self["actions"], "ColorActions",
[("yellow", _("Add new page"))]))
self.helpList.append((
@@ -142,13 +145,17 @@ class CurlyTxSettings(ConfigListScreen, HelpableScreen, Screen):
return
del config.plugins.CurlyTx.pages[:]
- config.plugins.CurlyTx.pages.save()
- print("CurlyTx", len(config.plugins.CurlyTx.pages))
+
for pageData in pages:
page = createPage()
- page.title.value = pageData["title"]
- page.uri.value = pageData["url"]
config.plugins.CurlyTx.pages.append(page)
+ page.title.setValue(pageData["title"])
+ page.uri.setValue(pageData["url"])
+
+ #we cannot restore the old pages without enigma2 restart, so
+ # it's better to save here for a consistent user experience
+ config.plugins.CurlyTx.pages.save()
+
self["config"].setList(self.getConfigList())
def keySave(self):