Fix searching by reviewer account id

The "reviewer:" search token supports searching by account number,
but that did not work.  Correct it.

Change-Id: I8318cef43fc71f18cef1837d451f750b73ac4a1d
This commit is contained in:
James E. Blair 2015-04-11 15:23:59 -04:00
parent 44dcc6a1d8
commit 889d7f793c
2 changed files with 10 additions and 3 deletions

View File

@ -62,7 +62,7 @@ class SearchCompiler(object):
if __name__ == '__main__':
class Dummy(object):
pass
query = 'NOT label:Code-Review<=2 age:5d'
query = 'reviewer:10068'
lexer = tokenizer.SearchTokenizer()
lexer.input(query)
while True:

View File

@ -125,11 +125,18 @@ def SearchParser():
gertty.db.account_table.c.name == p[2])
def p_reviewer_term(p):
'''reviewer_term : OP_REVIEWER string'''
'''reviewer_term : OP_REVIEWER string
| OP_REVIEWER NUMBER'''
filters = []
filters.append(gertty.db.approval_table.c.change_key == gertty.db.change_table.c.key)
filters.append(gertty.db.approval_table.c.account_key == gertty.db.account_table.c.key)
if p[2] == 'self':
try:
number = int(p[2])
except:
number = None
if number is not None:
filters.append(gertty.db.account_table.c.id == number)
elif p[2] == 'self':
username = p.parser.username
filters.append(gertty.db.account_table.c.username == username)
else: