changeset a947e71b9a4c in tryton:default
details: https://hg.tryton.org/tryton?cmd=changeset;node=a947e71b9a4c
description:
Show exception type and add title to detail of error dialog
issue8226
review249151002
diffstat:
tryton/client.py | 2 +-
tryton/common/common.py | 13 +++++++------
tryton/gui/main.py | 2 +-
tryton/jsonrpc.py | 7 ++-----
4 files changed, 11 insertions(+), 13 deletions(-)
diffs (80 lines):
diff -r 7e60b661c09f -r a947e71b9a4c tryton/client.py
--- a/tryton/client.py Wed Mar 27 00:41:18 2019 +0100
+++ b/tryton/client.py Wed Mar 27 23:24:09 2019 +0100
@@ -57,7 +57,7 @@
screen, provider, Gtk.STYLE_PROVIDER_PRIORITY_USER)
def excepthook(type_, value, traceback_):
- common.error(str(value), ''.join(traceback.format_tb(traceback_)))
+ common.error(value, ''.join(traceback.format_tb(traceback_)))
sys.excepthook = excepthook
CONFIG.parse()
diff -r 7e60b661c09f -r a947e71b9a4c tryton/common/common.py
--- a/tryton/common/common.py Wed Mar 27 00:41:18 2019 +0100
+++ b/tryton/common/common.py Wed Mar 27 23:24:09 2019 +0100
@@ -746,7 +746,7 @@
dialog.set_markup(
'<b>%s</b>' % GLib.markup_escape_text(_('Application Error')))
dialog.format_secondary_markup(
- '<b>%s</b>' % _('Error: %s') % GLib.markup_escape_text(title))
+ '<b>%s</b>' % GLib.markup_escape_text(title))
scrolledwindow = Gtk.ScrolledWindow()
scrolledwindow.set_policy(
@@ -777,10 +777,11 @@
return dialog
def __call__(self, title, details):
- if title == details:
- title = ''
+ if isinstance(title, Exception):
+ title = "%s: %s" % (title.__class__.__name__, title)
+ details += '\n' + title
log = logging.getLogger(__name__)
- log.error(details + '\n' + title)
+ log.error(details)
return super(ErrorDialog, self).__call__(title, details)
@@ -885,9 +886,9 @@
if args:
return rpc_execute(*args)
else:
- error(exception.faultCode, exception.faultString)
+ error(exception, exception.faultString)
else:
- error(str(exception), traceback.format_exc())
+ error(exception, traceback.format_exc())
raise RPCException(exception)
diff -r 7e60b661c09f -r a947e71b9a4c tryton/gui/main.py
--- a/tryton/gui/main.py Wed Mar 27 00:41:18 2019 +0100
+++ b/tryton/gui/main.py Wed Mar 27 23:24:09 2019 +0100
@@ -280,7 +280,7 @@
except Exception as exception:
if (not isinstance(exception, TrytonError)
or exception.faultCode != 'QueryCanceled'):
- common.error(str(exception), traceback.format_exc())
+ common.error(exception, traceback.format_exc())
return self.quit()
self.get_preferences()
diff -r 7e60b661c09f -r a947e71b9a4c tryton/jsonrpc.py
--- a/tryton/jsonrpc.py Wed Mar 27 00:41:18 2019 +0100
+++ b/tryton/jsonrpc.py Wed Mar 27 23:24:09 2019 +0100
@@ -32,11 +32,8 @@
super(Fault, self).__init__(faultCode, faultString, **extra)
self.args = faultString
- def __repr__(self):
- return (
- "<Fault %s: %s>" %
- (repr(self.faultCode), repr(self.faultString))
- )
+ def __str__(self):
+ return str(self.faultCode)
class ProtocolError(xmlrpc.client.ProtocolError):