Beispiel #1
0
 def GenerateArgs(self, namespace, module_path):
     kwargs = namespace.kwargs or {}
     self.__completer = _GetCompleter(module_path,
                                      qualify=namespace.qualify,
                                      **kwargs)
     args = {}
     if self.__completer.parameters:
         for parameter in self.__completer.parameters:
             dest = parameter_info_lib.GetDestFromParam(parameter.name)
             if hasattr(namespace, dest):
                 # Don't add if its already been added.
                 continue
             flag = parameter_info_lib.GetFlagFromDest(dest)
             args[parameter.name] = base.Argument(
                 flag,
                 dest=dest,
                 category='RESOURCE COMPLETER',
                 help='{} `{}` parameter value.'.format(
                     self.__completer.__class__.__name__, parameter.name))
     self.__argument = base.Argument(
         'resource_to_complete',
         nargs='?',
         help=(
             'The partial resource name to complete. Omit to enter an '
             'interactive loop that reads a partial resource name from the '
             'input and lists the possible prefix matches on the output '
             'or displays an ERROR message.'))
     args[self.__argument.name] = self.__argument
     return args
Beispiel #2
0
 def GenerateArgs(self, namespace, module_path):
     args = []
     presentation_kwargs = namespace.resource_presentation_kwargs or {}
     # Add the args that correspond to the resource arg, but make them
     # non-required.
     if namespace.resource_spec_path:
         spec = _GetPresentationSpec(namespace.resource_spec_path,
                                     **presentation_kwargs)
         info = concept_parsers.ConceptParser([spec]).GetInfo(spec.name)
         for arg in info.GetAttributeArgs():
             if arg.name.startswith('--'):
                 arg.kwargs['required'] = False
             else:
                 arg.kwargs['nargs'] = '?' if not spec.plural else '*'
             args.append(arg)
     kwargs = namespace.kwargs or {}
     self.__completer = _GetCompleter(
         module_path,
         qualify=namespace.qualify,
         resource_spec=namespace.resource_spec_path,
         presentation_kwargs=presentation_kwargs,
         attribute=namespace.attribute,
         **kwargs)
     if self.__completer.parameters:
         for parameter in self.__completer.parameters:
             dest = parameter_info_lib.GetDestFromParam(parameter.name)
             if hasattr(namespace, dest):
                 # Don't add if its already been added.
                 continue
             flag = parameter_info_lib.GetFlagFromDest(dest)
             arg = base.Argument(flag,
                                 dest=dest,
                                 category='RESOURCE COMPLETER',
                                 help='{} `{}` parameter value.'.format(
                                     self.__completer.__class__.__name__,
                                     parameter.name))
             args.append(arg)
     self.__argument = base.Argument(
         'resource_to_complete',
         nargs='?',
         help=(
             'The partial resource name to complete. Omit to enter an '
             'interactive loop that reads a partial resource name from the '
             'input and lists the possible prefix matches on the output '
             'or displays an ERROR message.'))
     args.append(self.__argument)
     return args
Beispiel #3
0
 def RunSubTest(self, dest):
     return parameter_info_lib.GetFlagFromDest(dest)