+2011-11-23 Christian Weiske <cweiske@bogo>
+
+ * Add page list import via Atom feed
+
2011-11-21 Christian Weiske <cweiske@cweiske.de>
* hide color buttons when no/only one page configured
Open issues
===========
-- page import via atom feed/opml
- move mode to re-order pages
- how to show clock in lcd?
- show headers when pressing info button
"""
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)
self.helpList.append((
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"))]))
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):