summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/google_account/i18n/google_account.pot16
-rw-r--r--addons/google_account/models/google_service.py22
2 files changed, 31 insertions, 7 deletions
diff --git a/addons/google_account/i18n/google_account.pot b/addons/google_account/i18n/google_account.pot
index c417f0ab441..e3bacbffe16 100644
--- a/addons/google_account/i18n/google_account.pot
+++ b/addons/google_account/i18n/google_account.pot
@@ -31,7 +31,13 @@ msgid "Display Name"
msgstr ""
#. module: google_account
-#: code:addons/google_account/models/google_service.py:196
+#: code:addons/google_account/models/google_service.py:203
+#, python-format
+msgid "Error while requesting Google Services"
+msgstr ""
+
+#. module: google_account
+#: code:addons/google_account/models/google_service.py:199
#, python-format
msgid "Error while requesting Google Services: %s"
msgstr ""
@@ -86,7 +92,13 @@ msgid "Something went wrong during your token generation. Maybe your Authorizati
msgstr ""
#. module: google_account
-#: code:addons/google_account/models/google_service.py:197
+#: code:addons/google_account/models/google_service.py:204
+#, python-format
+msgid "Something went wrong with your request to google"
+msgstr ""
+
+#. module: google_account
+#: code:addons/google_account/models/google_service.py:200
#, python-format
msgid "Something went wrong with your request to google: %s"
msgstr ""
diff --git a/addons/google_account/models/google_service.py b/addons/google_account/models/google_service.py
index fb9213f96b2..aa3040d7947 100644
--- a/addons/google_account/models/google_service.py
+++ b/addons/google_account/models/google_service.py
@@ -189,12 +189,24 @@ class GoogleService(models.TransientModel):
status = error.response.status_code
response = ""
else:
- req = json.loads(error.request.body or 'null')
- res = error.response.json()
- _logger.exception("Error while requesting Google Services\nRequest:\n%s\nResponse:\n%s", pformat(req), pformat(res))
+ try:
+ exception_req = pformat(json.loads(error.request.body))
+ except:
+ exception_req = error.request.body
+
+ try:
+ exception_res = pformat(error.response.json())
+ error_msg = _("Error while requesting Google Services: %s") % res['error']['message']
+ warning_msg = _("Something went wrong with your request to google: %s") % res['error']['message']
+ except:
+ exception_res = error.response.text
+ error_msg = _("Error while requesting Google Services")
+ warning_msg = _("Something went wrong with your request to google")
+
+ _logger.exception("Error while requesting Google Services\nRequest:\n%s\nResponse:\n%s", exception_req, exception_res)
if error.response.status_code in (400, 401, 410):
- raise UserError(_("Error while requesting Google Services: %s") % res['error']['message'])
- raise self.env['res.config.settings'].get_config_warning(_("Something went wrong with your request to google: %s") % res['error']['message'])
+ raise UserError(error_msg)
+ raise self.env['res.config.settings'].get_config_warning(warning_msg)
return (status, response, ask_time)
# TODO : remove me, it is only used in google calendar. Make google_calendar use the constants