From 08d16cf4d196531821e897a291a1078982231be9 Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Thu, 15 Nov 2012 18:43:28 +0530 Subject: [PATCH] cli: Handle HTTP and URL errors Signed-off-by: Rohit Yadav --- tools/cli/cloudmonkey/cloudmonkey.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/cli/cloudmonkey/cloudmonkey.py b/tools/cli/cloudmonkey/cloudmonkey.py index 4ba6dbf7df9..185ad4edb10 100644 --- a/tools/cli/cloudmonkey/cloudmonkey.py +++ b/tools/cli/cloudmonkey/cloudmonkey.py @@ -31,6 +31,7 @@ try: from clint.textui import colored from ConfigParser import ConfigParser, SafeConfigParser + from urllib2 import HTTPError, URLError from version import __version__ from marvin.cloudstackConnection import cloudConnection @@ -138,6 +139,7 @@ class CloudStackShell(cmd.Cmd): def print_shell(self, *args): try: for arg in args: + arg = str(arg) if isinstance(type(args), types.NoneType): continue if self.color == 'true': @@ -208,10 +210,13 @@ class CloudStackShell(cmd.Cmd): logging=logging.getLogger("cloudConnection")) try: response = conn.make_request(command, requests) + return response except cloudstackAPIException, e: - self.print_shell("API Error", e) - return None - return response + self.print_shell("API Error:", e) + except HTTPError, e: + self.print_shell(e) + except URLError, e: + self.print_shell("Connection Error:", e) def get_api_module(self, api_name, api_class_strs=[]): try: