Exemple #1
0
def _apply_section_filter(filter_name, filter_args, all_sections):
    """
    Returns sections after filtering based on ``filter_args``. It
    returns all sections if nothing is present in ``filter_args``.

    :param filter_name:
        Name of the section filter.
    :param filter_args:
        Arguments to be passed to the filter. For example:
        ``{'section_tags': ('save', 'change')}``
    :param all_sections:
        List of all sections on which filter is to be applied.
    :return:
        Filtered sections based on a single section filter.
    """
    if not is_valid_filter(filter_name):
        raise InvalidFilterException(filter_name)
    if not filter_args or len(filter_args) == 0:
        return all_sections

    filter_function = available_filters[filter_name]
    filtered_sections = []

    for section in all_sections:
        if filter_function(section, filter_args):
            filtered_sections += [section]

    return filtered_sections
Exemple #2
0
def apply_filter(filter_name, filter_args, all_bears=None):
    """
    Returns bears after filtering based on ``filter_args``. It returns
    all bears if nothing is present in ``filter_args``.

    :param filter_name:
        Name of the filter.
    :param filter_args:
        Arguments of the filter to be passed in.
        For example:
        ``('c', 'java')``
    :param all_bears:
        List of bears on which filter is to be applied.
        All the bears are loaded automatically by default.
    :return:
        Filtered bears based on a single filter.
    """
    if all_bears is None:
        from coalib.settings.ConfigurationGathering import (get_all_bears)
        all_bears = get_all_bears()
    if not is_valid_filter(filter_name):
        raise InvalidFilterException(filter_name)
    if not filter_args or len(filter_args) == 0:
        return all_bears

    filter_args = {arg.lower() for arg in filter_args}
    local_bears, global_bears = all_bears
    local_bears = _filter_section_bears(local_bears, filter_args, filter_name)
    global_bears = _filter_section_bears(global_bears, filter_args,
                                         filter_name)
    return local_bears, global_bears
Exemple #3
0
def apply_filter(filter_name, filter_args, all_bears=None):
    if all_bears is None:
        from coalib.settings.ConfigurationGathering import (get_all_bears)
        all_bears = get_all_bears()
    if not is_valid_filter(filter_name):
        raise InvalidFilterException(filter_name)
    if not filter_args or len(filter_args) == 0:
        return all_bears
    return available_filters[filter_name](all_bears, filter_args)
Exemple #4
0
 def apply_filter(cls, filter_name, filter_args, all_bears=None):
     if all_bears is None:
         from coalib.settings.ConfigurationGathering import (get_all_bears)
         all_bears = get_all_bears()
     if not cls.is_valid_filter(filter_name):
         raise InvalidFilterException('{!r} is an invalid filter. '
                                      'Available filters: {}'.format(
                                          filter_name,
                                          cls.get_all_filters_str()))
     if not filter_args or len(filter_args) == 0:
         return all_bears
     return cls.available_filters[filter_name](all_bears, filter_args)
Exemple #5
0
def apply_filter(filter_name, filter_args, all_bears=None):
    if all_bears is None:
        from coalib.settings.ConfigurationGathering import (
            get_all_bears)
        all_bears = get_all_bears()
    if not is_valid_filter(filter_name):
        raise InvalidFilterException(filter_name)
    if not filter_args or len(filter_args) == 0:
        return all_bears

    filter_args = {arg.lower() for arg in filter_args}
    local_bears, global_bears = all_bears
    local_bears = _filter_section_bears(
        local_bears, filter_args, filter_name)
    global_bears = _filter_section_bears(
        global_bears, filter_args, filter_name)
    return local_bears, global_bears