summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorJohan Dahlin <johan@src.gnome.org>2008-07-29 07:03:29 +0000
committerJohan Dahlin <johan@src.gnome.org>2008-07-29 07:03:29 +0000
commite999b5d16cc345beaf81314916b2584bd3a5ee22 (patch)
tree4a05fceae13a972353b4776cf62486dcb725b113 /examples
parent05461cad1d58f4c0de73a63a69f260a01286e08e (diff)
downloadpygobject-e999b5d16cc345beaf81314916b2584bd3a5ee22.tar.gz
Handle errors from gfile.read() gracefully
svn path=/trunk/; revision=893
Diffstat (limited to 'examples')
-rw-r--r--examples/gio/downloader.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/examples/gio/downloader.py b/examples/gio/downloader.py
index 36c803bb..4da4f53f 100644
--- a/examples/gio/downloader.py
+++ b/examples/gio/downloader.py
@@ -16,7 +16,6 @@ class Downloader(object):
output = self.get_output_filename()
self.fd = open(output, 'w')
print 'Downloading %s -> %s' % (uri, output)
-
self.gfile.read_async(self.read_callback)
def get_output_filename(self):
@@ -33,9 +32,13 @@ class Downloader(object):
self.data_read(data)
stream.read_async(4096, self.stream_read_callback)
-
def read_callback(self, gfile, result):
- stream = gfile.read_finish(result)
+ try:
+ stream = gfile.read_finish(result)
+ except gio.Error, e:
+ print 'ERROR: %s' % (e.message,)
+ self.loop.quit()
+ return
stream.read_async(4096, self.stream_read_callback)
def data_read(self, data):