From 95b796cab380f21dff91644760f55a23fb1c0a60 Mon Sep 17 00:00:00 2001 From: K Jonathan Harker Date: Wed, 1 Jun 2016 15:42:55 -0700 Subject: [PATCH] Add support for the projects search term Gerrit now supports searching for changes with a specific project prefix using the projects term. Mimic that behaviour. Change-Id: I564098a12a0b5f39a3aeb113f1534af9b11a6430 Refer: https://review.openstack.org/Documentation/user-search.html#projects --- gertty/search/parser.py | 5 +++++ gertty/search/tokenizer.py | 1 + 2 files changed, 6 insertions(+) diff --git a/gertty/search/parser.py b/gertty/search/parser.py index a18d488..f1cd295 100644 --- a/gertty/search/parser.py +++ b/gertty/search/parser.py @@ -83,6 +83,7 @@ def SearchParser(): | reviewer_term | commit_term | project_term + | projects_term | project_key_term | branch_term | topic_term @@ -178,6 +179,10 @@ def SearchParser(): else: p[0] = gertty.db.project_table.c.name == p[2] + def p_projects_term(p): + '''projects_term : OP_PROJECTS string''' + p[0] = gertty.db.project_table.c.name.like('%s%%' % p[2]) + def p_project_key_term(p): '''project_key_term : OP_PROJECT_KEY NUMBER''' p[0] = gertty.db.change_table.c.project_key == p[2] diff --git a/gertty/search/tokenizer.py b/gertty/search/tokenizer.py index a4e0cb1..d3726aa 100644 --- a/gertty/search/tokenizer.py +++ b/gertty/search/tokenizer.py @@ -25,6 +25,7 @@ operators = { #'OP_REVIEWERIN', # needs local group membership 'commit': 'OP_COMMIT', 'project': 'OP_PROJECT', + 'projects': 'OP_PROJECTS', '_project_key': 'OP_PROJECT_KEY', # internal gertty use only 'branch': 'OP_BRANCH', 'topic': 'OP_TOPIC',