diff options
| author | Christian Weiske <cweiske@cweiske.de> | 2011-11-11 20:20:18 +0100 |
|---|---|---|
| committer | Christian Weiske <cweiske@cweiske.de> | 2011-11-11 20:20:18 +0100 |
| commit | 538a8a641ab5d125ffee57b9c934d81969200959 (patch) | |
| tree | ae3983b87b357dcf8f1fce32c6130cf29bb02e7a /src | |
| parent | e584f45e43d781e663c6de117357dfd26d6707d6 (diff) | |
| download | enigma2-curlytx-538a8a641ab5d125ffee57b9c934d81969200959.tar.gz enigma2-curlytx-538a8a641ab5d125ffee57b9c934d81969200959.zip | |
twisted für non-blocking url loading benutzen
Diffstat (limited to 'src')
| -rw-r--r-- | src/CurlyTx.py | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/CurlyTx.py b/src/CurlyTx.py index b22fd3a..e5d02f0 100644 --- a/src/CurlyTx.py +++ b/src/CurlyTx.py @@ -3,12 +3,12 @@ from Screens.MessageBox import MessageBox from Components.Label import Label from Components.ScrollLabel import ScrollLabel from Components.ActionMap import NumberActionMap -import urllib +from twisted.web import client class CurlyTx(Screen): skin = """ - <screen position="100,100" size="550,400" title="Test" > - <widget name="text" position="0,0" size="550,400" font="Regular;20" /> + <screen position="100,100" size="550,400" title="CurlyTx" > + <widget name="text" position="0,0" size="550,400" font="Console;20" /> </screen>""" def __init__(self, session, args = None): @@ -16,7 +16,6 @@ class CurlyTx(Screen): Screen.__init__(self, session) self["text"] = ScrollLabel("foo") - #self.session.openWithCallback(self.mycallback, MessageBox, _("Test-Messagebox?")) self["actions"] = NumberActionMap(["WizardActions", "InputActions"], { "ok": self.close, @@ -24,7 +23,8 @@ class CurlyTx(Screen): "up": self.pageUp, "down": self.pageDown }, -1) - self.loadUrl() + + self.loadUrl("http://monitoring.home.cweiske.de/wetter/plain.txt") def pageUp(self): self["text"].pageUp() @@ -39,12 +39,16 @@ class CurlyTx(Screen): raise Exception("test-crash") self.close() - def loadUrl(self): - #sample = file(test).read() - #import urllib - ##req = urllib2.Request(url) - r = urllib.urlopen("http://www.bogo/tagebuch/tagebuch.css") - self["text"].setText(r.read()) - r.close() - # f.write(r.read()) - # webFile.close() + def loadUrl(self, url): + self["text"].setText("Loading ...\n" + url); + + client.getPage(url).addCallback(self.urlLoaded).addErrback(self.urlFailed, url) + + def urlLoaded(self, html): + self["text"].setText(html) + + def urlFailed(self, error, url): + self["text"].setText( + "Error fetching URL:\n " + error.getErrorMessage() + + "\n\nURL: " + url + ) |
