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
