From 538a8a641ab5d125ffee57b9c934d81969200959 Mon Sep 17 00:00:00 2001 From: Christian Weiske Date: Fri, 11 Nov 2011 20:20:18 +0100 Subject: [PATCH] =?utf8?q?twisted=20f=C3=BCr=20non-blocking=20url=20loadin?= =?utf8?q?g=20benutzen?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/CurlyTx.py | 32 ++++++++++++++++++-------------- 1 file 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 = """ - - + + """ 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 + ) -- 2.30.2