Better error handling

git-svn-id: https://vsmartcard.svn.sourceforge.net/svnroot/vsmartcard@140 96b47cad-a561-4643-ad3b-153ac7d7599c
This commit is contained in:
oepen
2010-06-08 12:58:05 +00:00
parent f1de87e9bc
commit 03f3c09bb8

View File

@@ -8,7 +8,7 @@ try:
except: except:
pass pass
try: try:
import gtk, gobject import gtk, gobject, glib
import pango import pango
except: except:
sys.exit(1) sys.exit(1)
@@ -31,7 +31,15 @@ class PinpadGTK:
#Set the Glade file #Set the Glade file
self.gladefile = glade_dir + "/pinpad.glade" self.gladefile = glade_dir + "/pinpad.glade"
self.builder = gtk.Builder() self.builder = gtk.Builder()
self.builder.add_from_file(self.gladefile) try:
self.builder.add_from_file(self.gladefile)
except glib.GError, e:
popup = gtk.MessageDialog(None, gtk.DIALOG_MODAL,
gtk.MESSAGE_WARNING, gtk.BUTTONS_OK,
e.message)
popup.run()
popup.destroy()
raise e
#Get the Main Window, and connect the "destroy" event #Get the Main Window, and connect the "destroy" event
#Create our dictionay and connect it #Create our dictionay and connect it
@@ -105,8 +113,16 @@ class PinpadGTK:
#We have to provide the type of secret to use via a command line parameter #We have to provide the type of secret to use via a command line parameter
param = "--" + rdioActive[0].get_label().lower() param = "--" + rdioActive[0].get_label().lower()
p = subprocess.Popen(["pace-tool", param, "-v"], stdout=subprocess.PIPE, try:
env=env_arg, close_fds=True) p = subprocess.Popen(["pace-tool", param, "-v"],
stdout=subprocess.PIPE, env=env_arg, close_fds=True)
except OSError, e:
popup = gtk.MessageDialog(self.window, gtk.DIALOG_MODAL |
gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_ERROR,
gtk.BUTTONS_OK, "pace-tool wurde nicht gefunden.")
popup.run()
popup.destroy()
return
line = p.stdout.readline() line = p.stdout.readline()
self.progressWindow.show() self.progressWindow.show()
@@ -123,8 +139,8 @@ class PinpadGTK:
if (ret == 0): if (ret == 0):
popup = gtk.MessageDialog(self.window, gtk.DIALOG_MODAL | popup = gtk.MessageDialog(self.window, gtk.DIALOG_MODAL |
gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, gtk.DIALOG_DESTROY_WITH_PARENT, gtk.MESSAGE_INFO,
"PIN wurde korrekt eingegeben") gtk.BUTTONS_OK, "PIN wurde korrekt eingegeben")
res = popup.run() res = popup.run()
gtk.main_quit() gtk.main_quit()
else: else: