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
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
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)
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)
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