def _filters(self): filters = [] def arg_filters(): result = [] for arg in self.args: if re.match(Filter.ORDINAL_TAG_MATCH, arg): argfilter = Filter.OrdinalTagFilter(arg) elif len(arg) > 1 and arg[0] == '-': # when a word starts with -, exclude it argfilter = Filter.GrepFilter(arg[1:]) argfilter = Filter.NegationFilter(argfilter) else: argfilter = Filter.GrepFilter(arg) result.append(argfilter) return result if not self.show_all: filters.append(Filter.DependencyFilter(self.todolist)) filters.append(Filter.RelevanceFilter()) filters += arg_filters() if not self.show_all: filters.append(Filter.LimitFilter(config().list_limit())) return filters
def test_filter7(self): """ Tests the dependency filter. """ todolist = load_file_to_todolist('test/data/FilterTest2.txt') depfilter = Filter.DependencyFilter(todolist) filtered_todos = depfilter.filter(todolist.todos()) reference = load_file('test/data/FilterTest2-result.txt') self.assertEquals(todolist_to_string(filtered_todos), \ todolist_to_string(reference))
def _filters(self): filters = [] if not self.show_all: filters.append(Filter.DependencyFilter(self.todolist)) filters.append(Filter.RelevanceFilter()) args = self.args[:-1] if self.last_argument else self.args filters += Filter.get_filter_list(args) if not self.show_all: filters.append(Filter.LimitFilter(self.limit)) return filters