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 _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
def test_filter3(self): todo = Todo("(C) Relevant") relevance = Filter.RelevanceFilter() result = relevance.filter([todo]) self.assertEquals(result, [todo])