Пример #1
0
def main():
    try:
        console_printer = ConsolePrinter()
        log_printer = LogPrinter(console_printer)
        # Note: We parse the args here once to check whether to show bears or
        # not.
        args = default_arg_parser().parse_args()

        if args.show_bears:
            sections, _ = load_configuration(arg_list=None,
                                             log_printer=log_printer)
            local_bears, global_bears = collect_all_bears_from_sections(
                sections, log_printer)
            if args.filter_by_language:
                local_bears = filter_section_bears_by_languages(
                    local_bears, args.filter_by_language)
                global_bears = filter_section_bears_by_languages(
                    global_bears, args.filter_by_language)

            show_bears(local_bears, global_bears, args.show_description
                       or args.show_details, args.show_details,
                       console_printer)
            return 0
    except BaseException as exception:  # pylint: disable=broad-except
        return get_exitcode(exception, log_printer)

    partial_print_sec_beg = functools.partial(print_section_beginning,
                                              console_printer)
    results, exitcode, _ = run_coala(
        print_results=print_results,
        acquire_settings=acquire_settings,
        print_section_beginning=partial_print_sec_beg,
        nothing_done=nothing_done)

    return exitcode
Пример #2
0
def get_filtered_bears(languages, log_printer, arg_parser=None):
    """
    :param languages:   List of languages.
    :param log_printer: The log_printer to handle logging.
    :param arg_parser:  An ``ArgParser`` object.
    :return:            Tuple containing dictionaries of local bears
                        and global bears.
    """
    local_bears, global_bears = get_all_bears(log_printer, arg_parser)
    if languages:
        local_bears = filter_section_bears_by_languages(local_bears, languages)
        global_bears = filter_section_bears_by_languages(
            global_bears, languages)
    return local_bears, global_bears
Пример #3
0
    def test_filter_section_bears_by_languages(self):
        test_section = Section("test_section")
        test_section.bear_dirs = lambda: os.path.join(
            self.collectors_test_dir, "bears_local_global", "**")
        local_bears, global_bears = collect_all_bears_from_sections(
            {'test_section': test_section}, self.log_printer)
        local_bears = filter_section_bears_by_languages(local_bears, ['C'])
        self.assertEqual(len(local_bears['test_section']), 1)
        self.assertEqual(str(local_bears['test_section'][0]),
                         "<class 'bears2.Test2LocalBear'>")

        global_bears = filter_section_bears_by_languages(
            global_bears, ['Java'])
        self.assertEqual(len(global_bears['test_section']), 1)
        self.assertEqual(str(global_bears['test_section'][0]),
                         "<class 'bears1.Test1GlobalBear'>")
Пример #4
0
    def test_filter_section_bears_by_languages(self):
        test_section = Section('test_section')
        test_section.bear_dirs = lambda: os.path.join(self.collectors_test_dir,
                                                      'bears_local_global',
                                                      '**')
        local_bears, global_bears = collect_all_bears_from_sections(
            {'test_section': test_section},
            self.log_printer)
        local_bears = filter_section_bears_by_languages(local_bears, ['C'])
        self.assertEqual(len(local_bears['test_section']), 1)
        self.assertEqual(str(local_bears['test_section'][0]),
                         "<class 'bears2.Test2LocalBear'>")

        global_bears = filter_section_bears_by_languages(global_bears, ['Java'])
        self.assertEqual(len(global_bears['test_section']), 1)
        self.assertEqual(str(global_bears['test_section'][0]),
                         "<class 'bears1.Test1GlobalBear'>")
Пример #5
0
def get_filtered_bears(languages, log_printer):
    """
    Fetch bears and filter them based on given list of languages.

    :param languages:   List of languages.
    :param log_printer: The log_printer to handle logging.
    :return:            Tuple containing dictionaries of local bears
                        and global bears.
    """
    sections, _ = load_configuration(arg_list=None, log_printer=log_printer)
    local_bears, global_bears = collect_all_bears_from_sections(
        sections, log_printer)
    if languages:
        local_bears = filter_section_bears_by_languages(local_bears, languages)
        global_bears = filter_section_bears_by_languages(
            global_bears, languages)
    return local_bears, global_bears
Пример #6
0
def main():
    # Note: We parse the args here once to check whether to show bears or not.
    arg_parser = default_arg_parser()
    args = arg_parser.parse_args()

    console_printer = ConsolePrinter()
    if args.show_bears or args.show_all_bears or args.show_language_bears:
        log_printer = LogPrinter(console_printer)
        try:
            sections, _ = load_configuration(arg_list=None,
                                             log_printer=log_printer)
            if args.show_language_bears:
                local_bears, global_bears = collect_all_bears_from_sections(
                    sections, log_printer)
                local_bears = filter_section_bears_by_languages(
                    local_bears, args.show_language_bears)
                global_bears = filter_section_bears_by_languages(
                    global_bears, args.show_language_bears)
            elif args.show_all_bears:
                local_bears, global_bears = collect_all_bears_from_sections(
                    sections, log_printer)
            else:
                # We ignore missing settings as it's not important.
                local_bears, global_bears = fill_settings(
                    sections,
                    acquire_settings=lambda *args, **kwargs: {},
                    log_printer=log_printer)
            show_bears(local_bears, global_bears,
                       args.show_language_bears or args.show_all_bears,
                       console_printer)
        except BaseException as exception:  # pylint: disable=broad-except
            return get_exitcode(exception, log_printer)
        return 0

    partial_print_sec_beg = functools.partial(
        print_section_beginning,
        console_printer)
    results, exitcode, _ = run_coala(
        print_results=print_results,
        acquire_settings=acquire_settings,
        print_section_beginning=partial_print_sec_beg,
        nothing_done=nothing_done)

    return exitcode
Пример #7
0
def main():
    # Note: We parse the args here once to check whether to show bears or not.
    arg_parser = default_arg_parser()
    args = arg_parser.parse_args()

    console_printer = ConsolePrinter()
    if args.show_bears or args.show_all_bears or args.show_language_bears:
        log_printer = LogPrinter(console_printer)
        try:
            sections, _ = load_configuration(arg_list=None,
                                             log_printer=log_printer)
            if args.show_language_bears:
                local_bears, global_bears = collect_all_bears_from_sections(
                    sections, log_printer)
                local_bears = filter_section_bears_by_languages(
                    local_bears, args.show_language_bears)
                global_bears = filter_section_bears_by_languages(
                    global_bears, args.show_language_bears)
            elif args.show_all_bears:
                local_bears, global_bears = collect_all_bears_from_sections(
                    sections, log_printer)
            else:
                # We ignore missing settings as it's not important.
                local_bears, global_bears = fill_settings(
                    sections,
                    acquire_settings=lambda *args, **kwargs: {},
                    log_printer=log_printer)
            show_bears(local_bears, global_bears, args.show_all_bears,
                       console_printer)
        except BaseException as exception:  # pylint: disable=broad-except
            return get_exitcode(exception, log_printer)
        return 0

    partial_print_sec_beg = functools.partial(
        print_section_beginning,
        console_printer)
    results, exitcode, _ = run_coala(
        print_results=print_results,
        acquire_settings=acquire_settings,
        print_section_beginning=partial_print_sec_beg,
        nothing_done=nothing_done)

    return exitcode
def get_filtered_bears(languages,
                       log_printer=None,
                       arg_parser=None,
                       silent=True):
    """
    :param languages:   List of languages.
    :param log_printer: The log_printer to handle logging.
    :param arg_parser:  An ``ArgParser`` object.
    :param silent:      Whether or not to display warnings.
    :return:            Tuple containing dictionaries of local bears
                        and global bears.
    """
    local_bears, global_bears = get_all_bears(arg_parser=arg_parser,
                                              silent=silent)
    if languages:
        local_bears = filter_section_bears_by_languages(local_bears, languages)
        global_bears = filter_section_bears_by_languages(
            global_bears, languages)
    return local_bears, global_bears
Пример #9
0
def get_filtered_bears(languages, log_printer):
    """
    Fetch bears and filter them based on given list of languages.

    :param languages:   List of languages.
    :param log_printer: The log_printer to handle logging.
    :return:            Tuple containing dictionaries of local bears
                        and global bears.
    """
    sections, _ = load_configuration(arg_list=None,
                                     log_printer=log_printer)
    local_bears, global_bears = collect_all_bears_from_sections(
        sections, log_printer)
    if languages:
        local_bears = filter_section_bears_by_languages(
            local_bears, languages)
        global_bears = filter_section_bears_by_languages(
            global_bears, languages)
    return local_bears, global_bears
Пример #10
0
def get_filtered_bears(languages,
                       log_printer=None,
                       arg_parser=None,
                       silent=True):
    """
    :param languages:   List of languages.
    :param log_printer: The log_printer to handle logging.
    :param arg_parser:  An ``ArgParser`` object.
    :param silent:      Whether or not to display warnings.
    :return:            Tuple containing dictionaries of local bears
                        and global bears.
    """
    local_bears, global_bears = get_all_bears(arg_parser=arg_parser,
                                              silent=silent)
    if languages:
        local_bears = filter_section_bears_by_languages(
            local_bears, languages)
        global_bears = filter_section_bears_by_languages(
            global_bears, languages)
    return local_bears, global_bears
Пример #11
0
def main():
    try:
        console_printer = ConsolePrinter()
        log_printer = LogPrinter(console_printer)
        # Note: We parse the args here once to check whether to show bears or
        # not.
        args = default_arg_parser().parse_args()

        if args.show_bears:
            sections, _ = load_configuration(arg_list=None,
                                             log_printer=log_printer)
            local_bears, global_bears = collect_all_bears_from_sections(
                sections, log_printer)
            if args.filter_by_language:
                local_bears = filter_section_bears_by_languages(
                    local_bears, args.filter_by_language)
                global_bears = filter_section_bears_by_languages(
                    global_bears, args.filter_by_language)

            show_bears(local_bears,
                       global_bears,
                       args.show_description or args.show_details,
                       args.show_details,
                       console_printer)
            return 0
    except BaseException as exception:  # pylint: disable=broad-except
        return get_exitcode(exception, log_printer)

    partial_print_sec_beg = functools.partial(
        print_section_beginning,
        console_printer)
    results, exitcode, _ = run_coala(
        print_results=print_results,
        acquire_settings=acquire_settings,
        print_section_beginning=partial_print_sec_beg,
        nothing_done=nothing_done)

    return exitcode