[dialog] Filtrage de plus d'erreurs dialog

This commit is contained in:
Valentin Samir 2014-12-02 20:41:00 +01:00
parent 08f4d259b7
commit 83512121a2
2 changed files with 17 additions and 5 deletions

View file

@ -17,7 +17,8 @@ import traceback
if '/usr/scripts' not in sys.path: if '/usr/scripts' not in sys.path:
sys.path.append('/usr/scripts') sys.path.append('/usr/scripts')
from pythondialog import Dialog as PythonDialog from pythondialog import Dialog as PythonDialog
from pythondialog import DialogError, DialogTerminatedBySignal from pythondialog import DialogTerminatedBySignal, PythonDialogErrorBeforeExecInChildProcess
from pythondialog import error as DialogError
from gestion.affich_tools import get_screen_size, coul from gestion.affich_tools import get_screen_size, coul
debug_enable = False debug_enable = False
@ -261,6 +262,18 @@ class Dialog(object):
raise Continue(cancel_cont) raise Continue(cancel_cont)
else: else:
raise raise
except PythonDialogErrorBeforeExecInChildProcess:
self.dialog.msgbox(
"La fenêtre dialog à été fermée et a retourné le code 127 : \n" +\
" * peut être que dialog n'a put être éxécuté\n" +\
" * peut être qu'il n'y a plus de mémoire disponible\n" +\
" * peut être que le nombre max de descripteur de fichier a été atteins\n" +\
"ou peut être que dialog fait juste du caca.\n" +\
"Quitter l'interface ?",
title="Erreur rencontrée", width=73, height=12, defaultno=True,
timeout=self.timeout
)
raise Continue(cancel_cont)
finally: finally:
if ret: if ret:
return ret return ret
@ -391,7 +404,7 @@ class Dialog(object):
(hour, minute, second) = get_time(hour, minute, second, day, month, year) (hour, minute, second) = get_time(hour, minute, second, day, month, year)
return (year, month, day) + (hour, minute, second) return (year, month, day) + (hour, minute, second)
def confirm(self, text, title, defaultno=False): def confirm(self, text, title, defaultno=False, width=0, height=0):
"""wrapper autour du widget yesno""" """wrapper autour du widget yesno"""
return self.dialog.yesno( return self.dialog.yesno(
text, text,
@ -401,7 +414,7 @@ class Dialog(object):
timeout=self.timeout, timeout=self.timeout,
title=title, title=title,
defaultno=defaultno, defaultno=defaultno,
width=0, height=0, width=width, height=height,
backtitle="Appuyez sur MAJ pour selectionner du texte" backtitle="Appuyez sur MAJ pour selectionner du texte"
) == self.dialog.DIALOG_OK ) == self.dialog.DIALOG_OK

View file

@ -13,7 +13,7 @@ import traceback
if '/usr/scripts' not in sys.path: if '/usr/scripts' not in sys.path:
sys.path.append('/usr/scripts') sys.path.append('/usr/scripts')
from pythondialog import Dialog from pythondialog import Dialog
from pythondialog import DialogError, DialogTerminatedBySignal from pythondialog import error as DialogError
from gestion.affich_tools import get_screen_size, coul from gestion.affich_tools import get_screen_size, coul
@ -25,7 +25,6 @@ import lc_ldap.printing as printing
import CPS import CPS
from CPS import TailCall, tailcaller, Continue, TailCaller from CPS import TailCall, tailcaller, Continue, TailCaller
class Dialog(CPS.Dialog): class Dialog(CPS.Dialog):
def __init__(self, debug_enable=False, ldap_test=False, custom_user=None): def __init__(self, debug_enable=False, ldap_test=False, custom_user=None):
super(Dialog, self).__init__(debug_enable=debug_enable) super(Dialog, self).__init__(debug_enable=debug_enable)