def console_output(self, targets): buildfile_aliases = self.context.build_file_parser.registered_aliases() extracter = BuildDictionaryInfoExtracter(buildfile_aliases) alias = self.get_options().details if alias: target_types = buildfile_aliases.target_types_by_alias.get(alias) if target_types: tti = next(x for x in extracter.get_target_type_info() if x.build_file_alias == alias) yield blue('\n{}\n'.format(tti.description)) yield blue('{}('.format(alias)) for arg in extracter.get_target_args(list(target_types)[0]): default = green('(default: {})'.format(arg.default) if arg.has_default else '') yield '{:<30} {}'.format( cyan(' {} = ...,'.format(arg.name)), ' {}{}{}'.format(arg.description, ' ' if arg.description else '', default)) yield blue(')') else: yield 'No such target type: {}'.format(alias) else: for tti in extracter.get_target_type_info(): description = tti.description or '<Add description>' yield '{} {}'.format(cyan('{:>30}:'.format(tti.build_file_alias)), description)
def console_output(self, targets): buildfile_aliases = self.context.build_file_parser.registered_aliases() extracter = BuildDictionaryInfoExtracter(buildfile_aliases) alias = self.get_options().details if alias: target_types = buildfile_aliases.target_types_by_alias.get(alias) if target_types: tti = next(x for x in extracter.get_target_type_info() if x.build_file_alias == alias) yield blue('\n{}\n'.format(tti.description)) yield blue('{}('.format(alias)) for arg in extracter.get_target_args(list(target_types)[0]): default = green('(default: {})'.format(arg.default) if arg. has_default else '') yield '{:<30} {}'.format( cyan(' {} = ...,'.format(arg.name)), ' {}{}{}'.format(arg.description, ' ' if arg.description else '', default)) yield blue(')') else: yield 'No such target type: {}'.format(alias) else: for tti in extracter.get_target_type_info(): description = tti.description or '<Add description>' yield '{} {}'.format( cyan('{:>30}:'.format(tti.build_file_alias)), description)
def test_get_target_args(self): class Target1(Target): def __init__(self, arg1, arg2=42, **kwargs): """ :param arg1: The first arg. :param arg2: The second arg. """ super(Target1, self).__init__(**kwargs) class Target2(Target1): pass class Target3(Target2): def __init__(self, arg3, arg4=None, **kwargs): super(Target1, self).__init__(**kwargs) self.maxDiff = None self.assertEqual( BuildDictionaryInfoExtracter.basic_target_args + [ FunctionArg('arg1', 'The first arg.', False, None), FunctionArg('arg2', 'The second arg.', True, 42), FunctionArg('arg3', '', False, None), FunctionArg('arg4', '', True, None) ], BuildDictionaryInfoExtracter.get_target_args(Target3))
def test_get_target_args(self): class Target1(Target): def __init__(self, arg1, arg2=42, **kwargs): """ :param arg1: The first arg. :param arg2: The second arg. """ super(Target1, self).__init__(**kwargs) class Target2(Target1): pass class Target3(Target2): def __init__(self, arg3, arg4=None, **kwargs): super(Target1, self).__init__(**kwargs) self.maxDiff = None self.assertEqual(BuildDictionaryInfoExtracter.basic_target_args + [ FunctionArg('arg1', 'The first arg.', False, None), FunctionArg('arg2', 'The second arg.', True, 42), FunctionArg('arg3', '', False, None), FunctionArg('arg4', '', True, None) ], BuildDictionaryInfoExtracter.get_target_args(Target3))