From 3a7221a69a39ae18f9cceb45dd0cccb464ff9cf8 Mon Sep 17 00:00:00 2001 From: Joshua Tauberer Date: Fri, 25 Jul 2014 13:51:35 +0000 Subject: [PATCH] handle errors in management API calls properly see #118 --- tools/mail.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/tools/mail.py b/tools/mail.py index 0b4e4491..31557df9 100755 --- a/tools/mail.py +++ b/tools/mail.py @@ -11,7 +11,12 @@ def mgmt(cmd, data=None): try: response = urllib.request.urlopen(req) except urllib.error.HTTPError as e: - print(e.read().decode('utf8')) + if e.code == 401: + print("The management daemon refused access. The API key file may be out of sync. Try 'service mailinabox restart'.", file=sys.stderr) + elif hasattr(e, 'read'): + print(e.read().decode('utf8'), file=sys.stderr) + else: + print(e, file=sys.stderr) sys.exit(1) return response.read().decode('utf8')