From cb336c4fab4ba304cea0b0118ad44d35c421aeee Mon Sep 17 00:00:00 2001 From: K Jonathan Harker Date: Fri, 27 Mar 2015 14:21:46 -0700 Subject: [PATCH] Add is:watched to p_is_term() Add a rudimentary implementation of is:watched that finds all subscribed projects. Change-Id: I1c0f9953c075015f17d1fd3075017847bb6b2aae --- gertty/search/parser.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gertty/search/parser.py b/gertty/search/parser.py index 0840305..5c25cf6 100644 --- a/gertty/search/parser.py +++ b/gertty/search/parser.py @@ -249,7 +249,7 @@ def SearchParser(): def p_is_term(p): '''is_term : OP_IS string''' - #TODO: implement watched, draft + #TODO: implement draft username = p.parser.username if p[2] == 'reviewed': filters = [] @@ -278,6 +278,8 @@ def SearchParser(): filters.append(gertty.db.account_table.c.username == username) s = select([gertty.db.change_table.c.key], correlate=False).where(and_(*filters)) p[0] = gertty.db.change_table.c.key.in_(s) + elif p[2] == 'watched': + p[0] = gertty.db.project_table.c.subscribed == True else: raise gertty.search.SearchSyntaxError('Syntax error: is:%s is not supported' % p[2])