Michael Pasternak has uploaded a new change for review.

Change subject: cli: cleanup
......................................................................

cli: cleanup

Change-Id: I051dd8ee06bbbc115ca963cbc1bc1be2c816ae6c
Signed-off-by: Michael pasternak <[email protected]>
---
M src/ovirtcli/command/action.py
M src/ovirtcli/command/add.py
M src/ovirtcli/command/connect.py
M src/ovirtcli/command/console.py
M src/ovirtcli/command/disconnect.py
M src/ovirtcli/command/info.py
M src/ovirtcli/command/list.py
M src/ovirtcli/command/ping.py
M src/ovirtcli/command/remove.py
M src/ovirtcli/command/show.py
M src/ovirtcli/command/update.py
M src/ovirtcli/utils/colorhelper.py
12 files changed, 380 insertions(+), 184 deletions(-)


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

diff --git a/src/ovirtcli/command/action.py b/src/ovirtcli/command/action.py
index 4d4c879..634e4b5 100644
--- a/src/ovirtcli/command/action.py
+++ b/src/ovirtcli/command/action.py
@@ -161,34 +161,53 @@
         args = self.arguments
         opts = self.options
 
-        if not (TypeHelper.isKnownType(args[0])) and 
ParseHelper.getXmlType(args[0]) == None:
-            self.error(Messages.Error.NO_SUCH_TYPE % args[0])
+        if not (TypeHelper.isKnownType(args[0])) and \
+           ParseHelper.getXmlType(args[0]) == None:
+            self.error(
+                       Messages.Error.NO_SUCH_TYPE % args[0]
+            )
 
-        scope = '%s:%s' % (ParseHelper.getXmlWrapperType(args[0]), args[2])
-        actionable_types = 
TypeHelper.get_actionable_types(expendNestedTypes=True, groupOptions=True)
+        # scope = '%s:%s' % (ParseHelper.getXmlWrapperType(args[0]), args[2])
+        actionable_types = TypeHelper.get_actionable_types(
+                       expendNestedTypes=True,
+                       groupOptions=True
+        )
 
-        resource = self.get_object(args[0], args[1],
-                                   self.resolve_base(opts),
-                                   context_variants=actionable_types[args[0]])
+        resource = self.get_object(
+                       args[0],
+                       args[1],
+                       self.resolve_base(opts),
+                       context_variants=actionable_types[args[0]]
+        )
+
         if resource is None:
-            self.error(Messages.Error.NO_SUCH_OBJECT % (args[0], args[1]))
-        elif hasattr(resource, args[2]) and type(getattr(resource, args[2])) 
== types.MethodType:
+            self.error(
+                   Messages.Error.NO_SUCH_OBJECT % (args[0], args[1])
+            )
+        elif hasattr(resource, args[2]) and \
+             type(getattr(resource, args[2])) == types.MethodType:
             try:
                 result = self.execute_method(resource, args[2], opts)
             except Exception, e:
                 self.error(str(e))
             if result.status.state == 'failed':
-                self.error(Messages.Info.ACTION_STATUS % result.status.state)
+                self.error(
+                       Messages.Info.ACTION_STATUS % result.status.state
+                )
         else:
-            self.error(Messages.Error.NO_SUCH_ACTION % args[2])
+            self.error(
+                   Messages.Error.NO_SUCH_ACTION % args[2]
+            )
         self.context.formatter.format(self.context, result)
 
     def show_help(self):
         """Show help for the action command."""
         args = self.arguments
         opts = self.options
-        stdout = self.context.terminal.stdout
-        types = TypeHelper.get_actionable_types(expendNestedTypes=True, 
groupOptions=True)
+        types = TypeHelper.get_actionable_types(
+                                expendNestedTypes=True,
+                                groupOptions=True
+        )
         subst = {}
 
         if not args or self.is_supported_type(types.keys(), args[0]):
@@ -199,12 +218,19 @@
                 subst['id'] = args[1]
 
                 base = self.resolve_base(self.options)
-                obj = self.get_object(args[0], args[1], base, 
context_variants=types[args[0]])
+                obj = self.get_object(
+                              args[0],
+                              args[1],
+                              base,
+                              context_variants=types[args[0]]
+                )
                 if obj is None:
-                    self.error(Messages.Error.NO_SUCH_OBJECT % (args[1], 
args[1]))
-
+                    self.error(
+                           Messages.Error.NO_SUCH_OBJECT % (args[1], args[1])
+                    )
                 actions = self._get_action_methods(obj)
                 subst['actions'] = self.format_list(actions)
+
             if len(args) == 3 and len(opts) == 2:
                 helptext = self.helptext1
 
@@ -213,19 +239,31 @@
                 subst['action'] = args[0]
 
                 base = self.resolve_base(self.options)
-                obj = self.get_object(args[1], args[2], base, 
context_variants=types[args[0]])
+                obj = self.get_object(
+                              args[1],
+                              args[2],
+                              base,
+                              context_variants=types[args[0]]
+                )
                 if obj is None:
-                    self.error(Messages.Error.NO_SUCH_OBJECT % (args[0], 
args[1]))
+                    self.error(
+                       Messages.Error.NO_SUCH_OBJECT % (args[0], args[1])
+                    )
 
                 actions = self._get_action_methods(obj)
                 if args[0] not in actions:
-                    self.error(Messages.Error.NO_SUCH_ACTION % args[2])
+                    self.error(
+                           Messages.Error.NO_SUCH_ACTION % args[2]
+                    )
 
-                options = self.get_options(method=args[0],
-                                           resource=obj,
-                                           context_variants=types[args[0]])
+                options = self.get_options(
+                           method=args[0],
+                           resource=obj,
+                           context_variants=types[args[0]]
+                )
                 subst['actions'] = self.format_list(actions)
                 subst['options'] = self.format_list(options, bullet='', 
sort=False)
+
             elif len(args) == 1:
                 helptext = self.helptext0
                 subst['types'] = self.format_map({args[0]:types[args[0]]})
@@ -237,9 +275,16 @@
                 subst['type'] = args[0]
                 subst['id'] = args[1]
                 base = self.resolve_base(opts)
-                obj = self.get_object(args[0], args[1], base, 
context_variants=types[args[0]])
+                obj = self.get_object(
+                              args[0],
+                              args[1],
+                              base,
+                              context_variants=types[args[0]]
+                )
                 if obj is None:
-                    self.error(Messages.Error.NO_SUCH_OBJECT % (args[0], 
args[1]))
+                    self.error(
+                       Messages.Error.NO_SUCH_OBJECT % (args[0], args[1])
+                )
                 actions = self._get_action_methods(obj)
                 subst['actions'] = self.format_list(actions)
 
@@ -251,20 +296,30 @@
                 subst['action'] = args[2]
 
                 base = self.resolve_base(self.options)
-                obj = self.get_object(args[0], args[1], base, 
context_variants=types[args[0]])
+                obj = self.get_object(
+                          args[0],
+                          args[1],
+                          base,
+                          context_variants=types[args[0]]
+                )
                 if obj is None:
-                    self.error(Messages.Error.NO_SUCH_OBJECT % (args[0], 
args[1]))
+                    self.error(
+                       Messages.Error.NO_SUCH_OBJECT % (args[0], args[1])
+                    )
 
                 actions = self._get_action_methods(obj)
                 if args[2] not in actions:
                     self.error(Messages.Error.NO_SUCH_ACTION % args[2])
 
-                options = self.get_options(method=args[2],
-                                           resource=obj,
-                                           sub_resource=base,
-                                           context_variants=types[args[0]])
+                options = self.get_options(
+                           method=args[2],
+                           resource=obj,
+                           sub_resource=base,
+                           context_variants=types[args[0]]
+                )
                 subst['actions'] = self.format_list(actions)
                 subst['options'] = self.format_list(options, bullet='', 
sort=False)
+
             else:
                 helptext = self.helptext0
                 subst['types'] = self.format_map(types)
@@ -274,4 +329,4 @@
             statuses = self.get_statuses()
             subst['statuses'] = self.format_list(statuses)
             helptext = self.format_help(helptext, subst)
-            stdout.write(helptext)
+            self.write(helptext)
diff --git a/src/ovirtcli/command/add.py b/src/ovirtcli/command/add.py
index ddc6330..d018845 100644
--- a/src/ovirtcli/command/add.py
+++ b/src/ovirtcli/command/add.py
@@ -142,6 +142,7 @@
 
         if base:
             collection = getattr(base, typ)
+
         else:
             connection = self.check_connection()
             if hasattr(connection, typ):
@@ -155,14 +156,15 @@
             if typs:
                 err_str = err_str + \
                 (Messages.Info.POSSIBALE_ARGUMENTS_COMBINATIONS % str(typs))
-            self.error(err_str % (args[0], typ))
+            self.error(
+                   err_str % (args[0], typ)
+            )
 
 
     def show_help(self):
         """Show help for "add"."""
         args = self.arguments
         opts = self.options
-        stdout = self.context.terminal.stdout
         types = self.get_singular_types(method='add')
         subst = {}
         if len(args) == 0:
@@ -171,13 +173,15 @@
         elif len(args) == 1:
             if self.is_supported_type(types.keys(), args[0]):
                 helptext = self.helptext1
-                params_list = self.get_options(method='add',
-                                               resource=args[0],
-                                               
sub_resource=self.resolve_base(opts),
-                                               context_variants=types[args[0]])
+                params_list = self.get_options(
+                       method='add',
+                       resource=args[0],
+                       sub_resource=self.resolve_base(opts),
+                       context_variants=types[args[0]]
+                )
                 subst['options'] = self.format_list(params_list, sort=False)
                 subst['type'] = args[0]
         statuses = self.get_statuses()
         subst['statuses'] = self.format_list(statuses)
         helptext = self.format_help(helptext, subst)
-        stdout.write(helptext)
+        self.write(helptext)
diff --git a/src/ovirtcli/command/connect.py b/src/ovirtcli/command/connect.py
index 1b361ac..68462c4 100644
--- a/src/ovirtcli/command/connect.py
+++ b/src/ovirtcli/command/connect.py
@@ -67,7 +67,6 @@
     def execute(self):
         args = self.arguments
         settings = self.context.settings
-        stdout = self.context.terminal.stdout
         context = self.context
 
         MIN_FORCE_CREDENTIALS_CHECK_VERSION = ('00000003', '00000001', 
'00000000', '00000004')
@@ -87,46 +86,62 @@
            self.context.status != self.context.COMMUNICATION_ERROR and \
            self.context.status != self.context.AUTHENTICATION_ERROR and \
            self.__test_connectivity():
-            stdout.write(Messages.Warning.ALREADY_CONNECTED)
+            self.write(
+                   Messages.Warning.ALREADY_CONNECTED
+            )
             return
         if len(args) == 3:
             url, username, password = args
         else:
             url = settings.get('ovirt-shell:url')
             if not url:
-                self.error(Messages.Error.MISSING_CONFIGURATION_VARIABLE % 
'url')
+                self.error(
+                       Messages.Error.MISSING_CONFIGURATION_VARIABLE % 'url'
+                )
             username = settings.get('ovirt-shell:username')
             if not username:
-                self.error(Messages.Error.MISSING_CONFIGURATION_VARIABLE % 
'username')
+                self.error(
+                       Messages.Error.MISSING_CONFIGURATION_VARIABLE % 
'username'
+                )
             password = settings.get('ovirt-shell:password')
             if not password:
-                self.error(Messages.Error.MISSING_CONFIGURATION_VARIABLE % 
'password')
+                self.error(
+                   Messages.Error.MISSING_CONFIGURATION_VARIABLE % 'password'
+                )
 
         if not self.is_valid_url(url):
-            self.error(Messages.Error.INVALID_URL_SEGMENT % url)
+            self.error(
+               Messages.Error.INVALID_URL_SEGMENT % url
+            )
 
         try:
-            self.context.set_connection (API(url=url,
-                                             username=username,
-                                             password=password,
-                                             key_file=key_file,
-                                             cert_file=cert_file,
-                                             ca_file=ca_file,
-                                             insecure=insecure,
-                                             validate_cert_chain=not 
dont_validate_cert_chain,
-                                             filter=filter_,
-                                             port=port if port != -1 else None,
-                                             timeout=timeout if timeout != -1 
else None,
-                                             session_timeout=session_timeout 
if session_timeout != -1 else None,
-                                             debug=debug),
-                                         url=url)
+            self.context.set_connection (
+                     API(
+                         url=url,
+                         username=username,
+                         password=password,
+                         key_file=key_file,
+                         cert_file=cert_file,
+                         ca_file=ca_file,
+                         insecure=insecure,
+                         validate_cert_chain=not dont_validate_cert_chain,
+                         filter=filter_,
+                         port=port if port != -1 else None,
+                         timeout=timeout if timeout != -1 else None,
+                         session_timeout=session_timeout if session_timeout != 
-1 else None,
+                         debug=debug
+                     ),
+                     url=url
+             )
 
             if context.sdk_version < MIN_FORCE_CREDENTIALS_CHECK_VERSION:
                 self.__test_connectivity()
 
             self.context.history.enable()
-            stdout.write(OvirtCliSettings.CONNECTED_TEMPLATE % \
-                         self.context.settings.get('ovirt-shell:version'))
+            self.write(
+                   OvirtCliSettings.CONNECTED_TEMPLATE % \
+                   self.context.settings.get('ovirt-shell:version')
+            )
 
         except RequestError, e:
             self.__cleanContext()
@@ -179,11 +194,17 @@
         return getattr(url_obj, 'hostname')
 
     def hostname_is_ip(self, hostname):
-        regex = re.compile(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', 
re.IGNORECASE)
+        regex = re.compile(
+                   r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',
+                   re.IGNORECASE
+        )
         return regex.search(hostname)
 
     def is_valid_ip(self, hostip):
-        regex = 
re.compile(r'^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$',
 re.IGNORECASE)
+        regex = re.compile(
+                   
r'^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$',
+                   re.IGNORECASE
+        )
         return regex.search(hostip)
 
     def __normalize_typeerror(self, exception):
@@ -214,7 +235,8 @@
                 self.context.connection.disconnect()
             except Exception, e:
                 self.error(e.strerror.lower())
-        self.context.connection = None
+            finally:
+                self.context.connection = None
 
     def xNoneType(self, s):
         return None if s == 'None' else s
diff --git a/src/ovirtcli/command/console.py b/src/ovirtcli/command/console.py
index ecd0ec7..1a53eba 100644
--- a/src/ovirtcli/command/console.py
+++ b/src/ovirtcli/command/console.py
@@ -46,18 +46,25 @@
 
         vm = self.get_object('vm', args[0])
         if vm is None:
-            self.error(Messages.Error.NO_SUCH_OBJECT % ('vm', args[0]))
+            self.error(
+               Messages.Error.NO_SUCH_OBJECT % ('vm', args[0])
+            )
         if vm.status.state not in CONSOLE_STATES:
-            
self.error(Messages.Error.CANNOT_CONNECT_TO_VM_DUE_TO_INVALID_STATE +
-                       Messages.Info.POSSIBLE_VM_STATES_FOR_CONSOLE % 
str(CONSOLE_STATES))
+            self.error(
+               Messages.Error.CANNOT_CONNECT_TO_VM_DUE_TO_INVALID_STATE +
+               Messages.Info.POSSIBLE_VM_STATES_FOR_CONSOLE % 
str(CONSOLE_STATES)
+           )
 
         host_addr = vm.display.address
         proto = vm.display.type_
         port = vm.display.port
         secport = vm.display.secure_port
         action = vm.ticket()
+
         if action.status.state != 'complete':
-            self.error(Messages.Error.CANNOT_SET_VM_TICKET)
+            self.error(
+               Messages.Error.CANNOT_SET_VM_TICKET
+            )
         ticket = action.ticket.value
         debug = self.context.settings['cli:debug']
 
@@ -73,12 +80,27 @@
                         if host.certificate.subject:
                             host_subject = host.certificate.subject
                         else:
-                            
self.warning(Messages.Warning.CANNOT_FETCH_HOST_CERT_SUBJECT)
+                            self.warning(
+                                 
Messages.Warning.CANNOT_FETCH_HOST_CERT_SUBJECT
+                            )
                     else:
-                        
self.warning(Messages.Warning.CANNOT_FETCH_HOST_CERT_SUBJECT_LEGACY_SDK)
+                        self.warning(
+                             
Messages.Warning.CANNOT_FETCH_HOST_CERT_SUBJECT_LEGACY_SDK
+                        )
             if host_subject == '':
-                    
self.warning(Messages.Warning.HOST_IDENTITY_WILL_NOT_BE_VALIDATED)
-
-            spice.launch_spice_client(host_addr, host_subject, port, secport, 
ticket, certurl, vm.name, debug)
+                    self.warning(
+                         Messages.Warning.HOST_IDENTITY_WILL_NOT_BE_VALIDATED
+                    )
+            spice.launch_spice_client(
+                          host_addr,
+                          host_subject,
+                          port, secport,
+                          ticket,
+                          certurl,
+                          vm.name,
+                          debug
+            )
         else:
-            self.error(Messages.Error.INVALID_DISPLAY_PROTOCOL % proto)
+            self.error(
+                   Messages.Error.INVALID_DISPLAY_PROTOCOL % proto
+            )
diff --git a/src/ovirtcli/command/disconnect.py 
b/src/ovirtcli/command/disconnect.py
index 536b12b..989e3e5 100644
--- a/src/ovirtcli/command/disconnect.py
+++ b/src/ovirtcli/command/disconnect.py
@@ -40,7 +40,9 @@
     def execute(self):
         connection = self.context.connection
         if connection is None:
-            self.error(Messages.Error.NOT_CONNECTED)
+            self.error(
+               Messages.Error.NOT_CONNECTED
+            )
             return
         try:
             self.context._clean_settings()
diff --git a/src/ovirtcli/command/info.py b/src/ovirtcli/command/info.py
index 073dc2a..3b98aa2 100644
--- a/src/ovirtcli/command/info.py
+++ b/src/ovirtcli/command/info.py
@@ -39,12 +39,33 @@
     def execute(self):
         context = self.context
 
-        self.write('')
-        self.write(Messages.Info.BACKEND_VERSION % 
VersionHelper.to_string(context.backend_version))
-        self.write(Messages.Info.SDK_VERSION % 
VersionHelper.to_string(context.sdk_version))
-        self.write(Messages.Info.CLI_VERSION % 
VersionHelper.to_string(context.cli_version))
-        self.write(Messages.Info.PYTHON_VERSION % 
VersionHelper.to_string((sys.version_info)))
-
-        self.write('')
-        self.write(Messages.Info.BACKEND_ENTRY_POINT % self.context.url)
+        self.write(
+               '\n'
+               +
+               Messages.Info.BACKEND_VERSION
+               %
+               VersionHelper.to_string(context.backend_version)
+        )
+        self.write(
+               Messages.Info.SDK_VERSION
+               %
+               VersionHelper.to_string(context.sdk_version)
+        )
+        self.write(
+               Messages.Info.CLI_VERSION
+               %
+               VersionHelper.to_string(context.cli_version)
+        )
+        self.write(
+               Messages.Info.PYTHON_VERSION
+               %
+               VersionHelper.to_string((sys.version_info))
+               +
+               '\n'
+        )
+        self.write(
+               Messages.Info.BACKEND_ENTRY_POINT
+               %
+               context.url
+        )
         self.write('')
diff --git a/src/ovirtcli/command/list.py b/src/ovirtcli/command/list.py
index c8dcd46..e0aacf3 100644
--- a/src/ovirtcli/command/list.py
+++ b/src/ovirtcli/command/list.py
@@ -17,8 +17,6 @@
 
 from ovirtcli.command.command import OvirtCommand
 from ovirtcli.utils.typehelper import TypeHelper
-# from ovirtsdk.infrastructure import brokers
-from ovirtcli.command.show import ShowCommand
 
 class ListCommand(OvirtCommand):
 
@@ -147,12 +145,19 @@
         opts = self.options
 
         typs = self.get_plural_types(method='list', typ=args[0])
-        self.context.formatter.format(self.context,
-                                      self.get_collection(typ=args[0],
-                                                          opts=opts,
-                                                          
base=self.resolve_base(opts),
-                                                          
context_variants=typs),
-                                      show_all=True if opts and 
opts.has_key(ListCommand.SHOW_ALL_KEY) else False)
+        self.context.formatter.format(
+                      self.context,
+                      self.get_collection(
+                          typ=args[0],
+                          opts=opts,
+                          base=self.resolve_base(opts),
+                          context_variants=typs
+                      ),
+                      show_all=True if opts and opts.has_key(
+                                                  ListCommand.SHOW_ALL_KEY
+                                                )
+                                    else False
+        )
 
     def show_help(self):
         """Show help for "list"."""
@@ -171,19 +176,23 @@
 
             if len(args) == 1 and len(opts) == 1:
                 helptext = self.helptext
-                subst['types'] = self.format_map({args[0]:types[args[0]]})
+                subst['types'] = self.format_map({
+                                  args[0]:types[args[0]]
+                                 }
+                )
                 subst['type'] = args[0]
             elif len(args) == 1 and len(opts) > 1:
                 helptext = self.helptext1
-                params_list = self.get_options(method='list',
-                                               
resource=TypeHelper.to_singular(args[0]),
-                                               
sub_resource=self.resolve_base(opts),
-                                               context_variants=types[args[0]])
+                params_list = self.get_options(
+                               method='list',
+                               resource=TypeHelper.to_singular(args[0]),
+                               sub_resource=self.resolve_base(opts),
+                               context_variants=types[args[0]]
+                )
                 subst['options'] = self.format_list(params_list)
                 subst['type'] = args[0]
             else:
                 helptext = self.helptext
 
             helptext = self.format_help(helptext, subst)
-            stdout = self.context.terminal.stdout
-            stdout.write(helptext)
+            self.write(helptext)
diff --git a/src/ovirtcli/command/ping.py b/src/ovirtcli/command/ping.py
index b740a1a..f30ccc9 100644
--- a/src/ovirtcli/command/ping.py
+++ b/src/ovirtcli/command/ping.py
@@ -39,11 +39,16 @@
 
     def execute(self):
         connection = self.check_connection()
-        stdout = self.context.terminal.stdout
         try:
             connection.test(throw_exception=True)
         except Exception, e:
-            stdout.write('\n' + str(e) + '\n')
-            self.error(Messages.Error.CANNOT_CONNECT_TO_BACKEND % 
OvirtCliSettings.PRODUCT)
+            self.write('\n' + str(e) + '\n')
+            self.error(
+                   Messages.Error.CANNOT_CONNECT_TO_BACKEND
+                   %
+                   OvirtCliSettings.PRODUCT
+            )
         else:
-            stdout.write(Messages.Info.SUCESS_CONNECT_TO_BACKEND)
+            self.write(
+                   Messages.Info.SUCESS_CONNECT_TO_BACKEND
+            )
diff --git a/src/ovirtcli/command/remove.py b/src/ovirtcli/command/remove.py
index 39204e9..5da376e 100644
--- a/src/ovirtcli/command/remove.py
+++ b/src/ovirtcli/command/remove.py
@@ -136,20 +136,31 @@
         args = self.arguments
         opts = self.options
 
-        typs = TypeHelper.get_types_containing_method(RemoveCommand.aliases[0],
-                                                      expendNestedTypes=True,
-                                                      groupOptions=True)
+        typs = TypeHelper.get_types_containing_method(
+            RemoveCommand.aliases[0],
+            expendNestedTypes=True,
+            groupOptions=True
+        )
 
-        resource = self.get_object(args[0],
-                                   args[1],
-                                   self.resolve_base(opts),
-                                   context_variants=typs[args[0]])
+        resource = self.get_object(
+            args[0],
+            args[1],
+            self.resolve_base(opts),
+            context_variants=typs[args[0]]
+        )
+
         if resource is None:
-            self.error(Messages.Error.NO_SUCH_OBJECT % (args[0], args[1]))
+            self.error(
+               Messages.Error.NO_SUCH_OBJECT % (args[0], args[1])
+            )
         elif hasattr(resource, RemoveCommand.aliases[0]):
-            result = self.execute_method(resource, RemoveCommand.aliases[0], 
opts)
+            result = self.execute_method(
+               resource, RemoveCommand.aliases[0], opts
+            )
         else:
-            self.error(Messages.Error.OBJECT_IS_IMMUTABLE % (args[0], args[1]))
+            self.error(
+               Messages.Error.OBJECT_IS_IMMUTABLE % (args[0], args[1])
+            )
 
         if not result:
             self.write(Messages.Info.ACCEPTED)
@@ -163,9 +174,11 @@
         opts = self.options
 
         subst = {}
-        types = 
TypeHelper.get_types_containing_method(RemoveCommand.aliases[0],
-                                                       expendNestedTypes=True,
-                                                       groupOptions=True)
+        types = TypeHelper.get_types_containing_method(
+               RemoveCommand.aliases[0],
+               expendNestedTypes=True,
+               groupOptions=True
+        )
 
         if not args or self.is_supported_type(types.keys(), args[0]):
             subst['types'] = self.format_map(types)
@@ -174,15 +187,24 @@
 
             if len(args) == 2:
                 base = self.resolve_base(self.options)
-                obj = self.get_object(args[0], args[1], base, 
context_variants=types[args[0]])
+                obj = self.get_object(
+                          args[0],
+                          args[1],
+                          base,
+                          context_variants=types[args[0]]
+                )
                 if obj is None:
-                    self.error(Messages.Error.NO_SUCH_OBJECT % (args[0], 
args[1]))
+                    self.error(
+                          Messages.Error.NO_SUCH_OBJECT % (args[0], args[1])
+                    )
 
                 helptext = self.helptext1
-                params_list = self.get_options(method=RemoveCommand.aliases[0],
-                                               resource=obj,
-                                               sub_resource=base,
-                                               context_variants=types[args[0]])
+                params_list = self.get_options(
+                           method=RemoveCommand.aliases[0],
+                           resource=obj,
+                           sub_resource=base,
+                           context_variants=types[args[0]]
+                )
                 subst['options'] = self.format_list(params_list)
                 subst['type'] = args[0]
 
@@ -190,10 +212,12 @@
                 helptext = self.helptext1
                 subst['type'] = args[0]
 
-                options = self.get_options(method=RemoveCommand.aliases[0],
-                                           resource=args[0],
-                                           
sub_resource=self.resolve_base(self.options),
-                                           context_variants=types[args[0]])
+                options = self.get_options(
+                           method=RemoveCommand.aliases[0],
+                           resource=args[0],
+                           sub_resource=self.resolve_base(self.options),
+                           context_variants=types[args[0]]
+                )
                 subst['options'] = self.format_list(options)
                 subst['type'] = args[0]
             elif len(args) == 1:
@@ -204,5 +228,4 @@
                 helptext = self.helptext
 
             helptext = self.format_help(helptext, subst)
-            stdout = self.context.terminal.stdout
-            stdout.write(helptext)
+            self.write(helptext)
diff --git a/src/ovirtcli/command/show.py b/src/ovirtcli/command/show.py
index c557386..af8dd99 100644
--- a/src/ovirtcli/command/show.py
+++ b/src/ovirtcli/command/show.py
@@ -121,32 +121,40 @@
         # e.g:
         # show vm xxx
         # show disk xxx --vm-identifier yyy
-        if len(args) < 2 and (len(opts) == 0 or
-                              (len(opts) == 1
-                               and
-                               opts.keys()[0].endswith('-identifier'))):
-            self.error(Messages.Error.NO_IDENTIFIER % args[0])
+        if len(args) < 2 and (
+                          len(opts) == 0 or
+                          (
+                           len(opts) == 1
+                           and
+                           opts.keys()[0].endswith('-identifier')
+                          )):
+            self.error(
+              Messages.Error.NO_IDENTIFIER % args[0]
+            )
 
         types = self.get_singular_types(method='get')
-        obj = self.get_object(typ=args[0],
-                              obj_id=args[1] if len(args) > 1
-                                             else None,
-                              base=self.resolve_base(opts),
-                              opts=opts,
-                              context_variants=types[args[0]])
+        obj = self.get_object(
+              typ=args[0],
+              obj_id=args[1] if len(args) > 1
+                             else None,
+              base=self.resolve_base(opts),
+              opts=opts,
+              context_variants=types[args[0]]
+        )
 
         if not (obj):
-            self.error(Messages.Error.NO_SUCH_OBJECT %
-                       (args[0], args[1] if len(args) > 1
-                                         else self.get_object_id(opts.values())
-                                              if opts else ''))
-
+            self.error(
+               Messages.Error.NO_SUCH_OBJECT %
+               (args[0], args[1] if len(args) > 1
+                                 else self.get_object_id(opts.values())
+                                      if opts else '')
+            )
         self.context.formatter.format(self.context, obj)
 
     def get_object_id(self, opts_values):
         """Get Object Identifier."""
         if len(opts_values) == 1:
-           return opts_values[0]
+            return opts_values[0]
         return opts_values
 
     def show_help(self):
@@ -167,10 +175,12 @@
 
             if len(args) == 1:
                 helptext = self.helptext1
-                params_list = self.get_options(method='get',
-                                               
resource=TypeHelper.to_singular(args[0]),
-                                               
sub_resource=self.resolve_base(opts),
-                                               context_variants=types[args[0]])
+                params_list = self.get_options(
+                       method='get',
+                       resource=TypeHelper.to_singular(args[0]),
+                       sub_resource=self.resolve_base(opts),
+                       context_variants=types[args[0]]
+                )
                 subst['options'] = self.format_list(params_list)
                 subst['type'] = args[0]
             elif len(args) == 2:
@@ -181,17 +191,20 @@
                 base = self.resolve_base(opts)
                 obj = self.get_object(args[0], args[1], base)
                 if obj is None:
-                    self.error(Messages.Error.NO_SUCH_OBJECT % (args[0], 
args[1]))
+                    self.error(
+                       Messages.Error.NO_SUCH_OBJECT % (args[0], args[1])
+                    )
 
-                params_list = self.get_options(method='get',
-                                               resource=obj,
-                                               sub_resource=base,
-                                               context_variants=types[args[0]])
+                params_list = self.get_options(
+                       method='get',
+                       resource=obj,
+                       sub_resource=base,
+                       context_variants=types[args[0]]
+                )
                 subst['options'] = self.format_list(params_list)
 
             else:
                 helptext = self.helptext
 
             helptext = self.format_help(helptext, subst)
-            stdout = self.context.terminal.stdout
-            stdout.write(helptext)
+            self.write(helptext)
diff --git a/src/ovirtcli/command/update.py b/src/ovirtcli/command/update.py
index 8cea028..55b68db 100644
--- a/src/ovirtcli/command/update.py
+++ b/src/ovirtcli/command/update.py
@@ -139,21 +139,29 @@
         args = self.arguments
         opts = self.options
 
-        typs = TypeHelper.get_types_containing_method('update',
-                                                       expendNestedTypes=True,
-                                                       groupOptions=True)
+        typs = TypeHelper.get_types_containing_method(
+                      'update',
+                       expendNestedTypes=True,
+                       groupOptions=True
+        )
 
-        resource = self.get_object(args[0], args[1],
-                                   self.resolve_base(opts),
-                                   context_variants=typs[args[0]])
+        resource = self.get_object(
+                       args[0], args[1],
+                       self.resolve_base(opts),
+                       context_variants=typs[args[0]]
+        )
+
         if resource is None:
-            self.error(Messages.Error.NO_SUCH_OBJECT % (args[0], args[1]))
+            self.error(
+               Messages.Error.NO_SUCH_OBJECT % (args[0], args[1])
+            )
         elif hasattr(resource, 'update'):
             obj = self.update_object_data(resource, opts)
             result = self.execute_method(obj, 'update', opts)
         else:
-            self.error(Messages.Error.OBJECT_IS_IMMUTABLE % (args[0], args[1]))
-
+            self.error(
+               Messages.Error.OBJECT_IS_IMMUTABLE % (args[0], args[1])
+            )
         self.context.formatter.format(self.context, result)
 
     def show_help(self):
@@ -164,10 +172,11 @@
         opts = self.options
 
         subst = {}
-        types = TypeHelper.get_types_containing_method('update',
-                                                       expendNestedTypes=True,
-                                                       groupOptions=True)
-
+        types = TypeHelper.get_types_containing_method(
+               'update',
+               expendNestedTypes=True,
+               groupOptions=True
+        )
         subst['types'] = self.format_map(types)
         statuses = self.get_statuses()
         subst['statuses'] = self.format_list(statuses)
@@ -175,16 +184,22 @@
         if len(args) > 0 and self.is_supported_type(types.keys(), args[0]):
             if len(args) == 2:
                 base = self.resolve_base(self.options)
-                obj = self.get_object(args[0], args[1],
-                                      base,
-                                      context_variants=types[args[0]])
+                obj = self.get_object(
+                          args[0], args[1],
+                          base,
+                          context_variants=types[args[0]]
+                )
                 if obj is None:
-                    self.error(Messages.Error.NO_SUCH_OBJECT % (args[0], 
args[1]))
+                    self.error(
+                          Messages.Error.NO_SUCH_OBJECT % (args[0], args[1])
+                    )
                 helptext = self.helptext1
-                params_list = self.get_options(method='update',
-                                               resource=obj,
-                                               sub_resource=base,
-                                               context_variants=types[args[0]])
+                params_list = self.get_options(
+                           method='update',
+                           resource=obj,
+                           sub_resource=base,
+                           context_variants=types[args[0]]
+                )
                 subst['options'] = self.format_list(params_list)
                 subst['type'] = args[0]
 
@@ -193,10 +208,12 @@
 
                 subst['type'] = args[0]
 
-                options = self.get_options(method='update',
-                                           resource=args[0],
-                                           
sub_resource=self.resolve_base(self.options),
-                                           context_variants=types[args[0]])
+                options = self.get_options(
+                           method='update',
+                           resource=args[0],
+                           sub_resource=self.resolve_base(self.options),
+                           context_variants=types[args[0]]
+                )
                 subst['options'] = self.format_list(options)
                 subst['type'] = args[0]
             elif len(args) == 1:
@@ -209,5 +226,4 @@
             helptext = self.helptext
 
         helptext = self.format_help(helptext, subst)
-        stdout = self.context.terminal.stdout
-        stdout.write(helptext)
+        self.write(helptext)
diff --git a/src/ovirtcli/utils/colorhelper.py 
b/src/ovirtcli/utils/colorhelper.py
index c5faa6c..ccb023f 100644
--- a/src/ovirtcli/utils/colorhelper.py
+++ b/src/ovirtcli/utils/colorhelper.py
@@ -18,8 +18,9 @@
 class ColorHelper():
     BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE = range(8)
 
-    __NONE = None
-    __ENDC = '\033[0m'
+    __PREFIX = "\x1b[1;%dm"
+    __SUFFIX = "\x1b[0m"
+    __OFFSET = 30
 
     @staticmethod
     def color(text, color_):
@@ -30,5 +31,8 @@
         @param color_: color to use (ColorHelper.RED|ColorHelper.BLUE...)
         """
         if color_:
-            return "\x1b[1;%dm" % (30 + color_) + text + "\x1b[0m"
+            return ColorHelper.__PREFIX % \
+                   (ColorHelper.__OFFSET + color_) + \
+                   text + \
+                   ColorHelper.__SUFFIX
         return text


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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I051dd8ee06bbbc115ca963cbc1bc1be2c816ae6c
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine-cli
Gerrit-Branch: master
Gerrit-Owner: Michael Pasternak <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to