Michael Pasternak has uploaded a new change for review.

Change subject: cli: recognize AmbiguousQueryError as COMMAND_ERROR
......................................................................

cli: recognize AmbiguousQueryError as COMMAND_ERROR

Change-Id: I61665beffe059b3ebe2296ebb4916bfe49f1f025
Signed-off-by: Michael pasternak <mpast...@redhat.com>
---
M src/cli/context.py
1 file changed, 17 insertions(+), 7 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine-cli refs/changes/97/14297/1

diff --git a/src/cli/context.py b/src/cli/context.py
index ffe5bd9..e97cf2b 100644
--- a/src/cli/context.py
+++ b/src/cli/context.py
@@ -19,6 +19,11 @@
 import logging
 import traceback
 
+import codecs
+import cStringIO
+from kitchen.text.converters import getwriter
+import getpass
+
 from StringIO import StringIO
 from subprocess import Popen, PIPE
 
@@ -28,12 +33,10 @@
 from cli.parser import Parser
 from cli.platform import Terminal
 from cli import platform
-import codecs
-import cStringIO
-from kitchen.text.converters import getwriter
 from cli.executionmode import ExecutionMode
-import getpass
 
+from ovirtsdk.infrastructure.errors import \
+    RequestError, ConnectionError, AmbiguousQueryError
 
 class ExecutionContext(object):
     """A CLI execution context."""
@@ -190,15 +193,22 @@
             else:
                 self.status = self.OK
 
+
+    def __error_to_string(self, err):
+        """Converts an exception to string and normalizing it."""
+        if err:
+            return str(err).replace("[ERROR]::", "")
+        return err
+
     def _handle_exception(self, e):
-        from ovirtsdk.infrastructure.errors import RequestError, 
ConnectionError
         """Handle an exception. Can be overruled in a subclass."""
         if isinstance(e, KeyboardInterrupt):
             self.status = self.INTERRUPTED
             sys.stdout.write('\n')
-        elif isinstance(e, CommandError) or isinstance(e, RequestError):
+        elif isinstance(e, CommandError) or isinstance(e, RequestError) \
+            or isinstance(e, AmbiguousQueryError):
             self.status = getattr(e, 'status', self.COMMAND_ERROR)
-            sys.stderr.write('\nerror: %s\n\n' % str(e))
+            sys.stderr.write('\nerror: %s\n\n' % self.__error_to_string(e))
             if hasattr(e, 'help'):
                 sys.stderr.write('%s\n' % e.help)
         elif isinstance(e, SyntaxError):


--
To view, visit http://gerrit.ovirt.org/14297
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I61665beffe059b3ebe2296ebb4916bfe49f1f025
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine-cli
Gerrit-Branch: master
Gerrit-Owner: Michael Pasternak <mpast...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to