From cb336c4fab4ba304cea0b0118ad44d35c421aeee Mon Sep 17 00:00:00 2001
From: K Jonathan Harker <code@gentlydownthe.net>
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])