From 67647724e84faaa02f0319e4e24a251ff9baa490 Mon Sep 17 00:00:00 2001 From: Gavin D'souza Date: Tue, 19 Oct 2021 18:33:31 +0530 Subject: [PATCH] refactor(minor): DRY-er human friendly error messages --- frappe/database/database.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/frappe/database/database.py b/frappe/database/database.py index d05284e2ea..14f2297398 100644 --- a/frappe/database/database.py +++ b/frappe/database/database.py @@ -18,6 +18,13 @@ from frappe.utils import now, getdate, cast, get_datetime, get_table_name from frappe.model.utils.link_count import flush_local_link_count +def get_human_friendly_error_message(): + return ( + _('Server was too busy to process this request.') + + '
' + + _('Please try again.') + ) + class Database(object): """ Open a database connection with the given parmeters, if use_default is True, use the @@ -158,12 +165,20 @@ class Database(object): # only for mariadb frappe.errprint('Syntax error in query:') frappe.errprint(query) - elif self.is_deadlocked(e) or self.is_timedout(e): - title = _('Deadlock Occurred') if self.is_deadlocked(e) else _('Request Timeout') - err_msg = _('Server was too busy to process this request.') + '
' - err_msg += _('Please try again.') - exception = frappe.QueryDeadlockError if self.is_deadlocked(e) else frappe.QueryTimeoutError - frappe.throw(msg=err_msg, title=title, exc=exception) + + elif self.is_deadlocked(e): + frappe.throw( + title=_('Deadlock Occurred'), + msg=get_human_friendly_error_message(), + exc=frappe.QueryDeadlockError, + ) + + elif self.is_timedout(e): + frappe.throw( + title=_('Request Timeout'), + msg=get_human_friendly_error_message(), + exc=frappe.QueryTimeoutError, + ) if ignore_ddl and (self.is_missing_column(e) or self.is_missing_table(e) or self.cant_drop_field_or_key(e)): pass