changeset 77dbe3ba5619 in tryton:default
details: https://hg.tryton.org/tryton?cmd=changeset;node=77dbe3ba5619
description:
        Display nice user message on too many requests

        issue8935
        review276601002
diffstat:

 tryton/common/common.py |  14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diffs (33 lines):

diff -r 10c7c7cea874 -r 77dbe3ba5619 tryton/common/common.py
--- a/tryton/common/common.py   Tue Jan 21 00:18:32 2020 +0100
+++ b/tryton/common/common.py   Tue Jan 21 00:34:55 2020 +0100
@@ -893,6 +893,10 @@
                     PLOCK.release()
                 if args:
                     return rpc_execute(*args)
+        elif exception.faultCode == str(int(HTTPStatus.TOO_MANY_REQUESTS)):
+            message(
+                _('Too many requests. Try again later.'),
+                msg_type=Gtk.MessageType.ERROR)
         else:
             error(exception, exception.faultString)
     else:
@@ -910,10 +914,16 @@
                 if exception.faultCode == str(int(HTTPStatus.UNAUTHORIZED)):
                     parameters.clear()
                     continue
+                if (exception.faultCode
+                        == str(int(HTTPStatus.TOO_MANY_REQUESTS))):
+                    message(
+                        _('Too many requests. Try again later.'),
+                        msg_type=Gtk.MessageType.ERROR)
+                    continue
                 if exception.faultCode != 'LoginException':
                     raise
-                name, message, type = exception.args
-                value = getattr(self, 'get_%s' % type)(message)
+                name, msg, type = exception.args
+                value = getattr(self, 'get_%s' % type)(msg)
                 if value is None:
                     raise TrytonError('QueryCanceled')
                 parameters[name] = value

Reply via email to