From 992f6761b90a2977cbc0ea59743bec5bfde2a6fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20H=C3=B6rist?= <forenjunkie@chello.at> Date: Tue, 10 Jan 2017 17:42:49 +0100 Subject: [PATCH] [httpupload] Dont crash on error in upload thread --- httpupload/httpupload.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/httpupload/httpupload.py b/httpupload/httpupload.py index a917f4c5..5c997786 100644 --- a/httpupload/httpupload.py +++ b/httpupload/httpupload.py @@ -378,8 +378,12 @@ class Base(object): return def upload_complete(response_code): - if response_code == 0: - return # Upload was aborted + if isinstance(response_code, str): + # We got a error Message + ErrorDialog( + _('Error'), response_code, + transient_for=self.chat_control.parent_win.window) + return if response_code >= 200 and response_code < 300: log.info("Upload completed successfully") xhtml = None @@ -475,15 +479,10 @@ class Base(object): transfer = urllib2.urlopen(request, timeout=30) log.debug("urllib2 upload request done, response code: " + str(transfer.getcode())) return transfer.getcode() - except UploadAbortedException: - log.info("Upload aborted") - except: - progress_window.close_dialog() - ErrorDialog(_('Could not upload file'), - _('Got unexpected exception while uploading file (see error log for more information)'), - transient_for=self.chat_control.parent_win.window) - raise # fill error log with useful information - return 0 + except Exception as error: + gobject.idle_add(progress_window.close_dialog) + log.exception('Error') + return str(error) log.info("Uploading file to '%s'..." % str(put.getData())) log.info("Please download from '%s' later..." % str(get.getData())) -- GitLab