[Pkg-privacy-commits] [tails-installer] 28/34: Make exception handling more robust in TailsInstallerThread.

anonym anonym-tails-guest at moszumanska.debian.org
Mon Jan 22 14:05:33 UTC 2018


This is an automated email from the git hooks/post-receive script.

anonym-tails-guest pushed a commit to branch tails/master
in repository tails-installer.

commit ec31abbfb19306299925ebf0e49e9cdd0427b97e
Author: intrigeri <intrigeri at boum.org>
Date:   Sat Jan 20 18:35:49 2018 +0000

    Make exception handling more robust in TailsInstallerThread.
    
    If what we're passed has no "args" attribute we raise an exception in the
    exception handler and fail to log anything useful. The status method is
    delegated to TailsInstallerWindow.status that already has some logic to do the
    right thing depending on what it receives, so let's not assume anything in
    TailsInstallerThread.status and forward what we get as-is.
    
    Then, in TailsInstallerWindow.status, also assume less about our argument,
    again to avoid failing in the exception handler.
---
 tails_installer/gui.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/tails_installer/gui.py b/tails_installer/gui.py
index 0224043..b5c6f3d 100755
--- a/tails_installer/gui.py
+++ b/tails_installer/gui.py
@@ -259,7 +259,7 @@ class TailsInstallerThread(threading.Thread):
             self.installation_complete()
 
         except Exception, e:
-            self.status(e.args[0])
+            self.status(e)
             self.status(_("Tails installation failed!"))
             self.live.log.exception(unicode(e))
             self.live.log.debug(traceback.format_exc())
@@ -637,9 +637,13 @@ class TailsInstallerWindow(Gtk.ApplicationWindow):
         self.__progressbar.set_fraction(value)
 
     def status(self, text):
-        if isinstance(text, Exception):
+        self.live.log.debug("Argument is of type '%(type)s'"
+                            % {'type': type(text).__name__})
+        if isinstance(text, Exception) \
+           and hasattr(text, 'args') \
+           and type(text.args).__name__ == 'list':
             text = text.args[0]
-        elif isinstance(text, int):
+        else:
             text = str(text)
         self.append_to_log(text)
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-privacy/packages/tails-installer.git



More information about the Pkg-privacy-commits mailing list