From 2444fcc4562895ae8f469053cc9cff512e33f715 Mon Sep 17 00:00:00 2001 From: Tanner Prestegard <tanner.prestegard@ligo.org> Date: Fri, 2 Nov 2018 15:34:37 -0500 Subject: [PATCH] Add queries by public/exposed status for superevents Allow queries on whether a superevent is publicly available or not. Add documentation to the query help page. --- gracedb/superevents/query.py | 18 +++++++++++++++++- gracedb/templates/search/query_help_frag.html | 10 ++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/gracedb/superevents/query.py b/gracedb/superevents/query.py index d42bee32f..62fdb4c2c 100644 --- a/gracedb/superevents/query.py +++ b/gracedb/superevents/query.py @@ -21,6 +21,7 @@ from pyparsing import Word, nums, Literal, CaselessLiteral, delimitedList, \ # Set up logger logger = logging.getLogger(__name__) + # Function for parsing matched superevent ID tokens def parse_superevent_id(name, toks, filter_prefix=None): # toks = matched superevent id @@ -119,6 +120,22 @@ parameter_dicts = { 'value': Or([CaselessLiteral(b) for b in ['true', 'false']]), 'parseAction': lambda toks: ("is_gw", Q(is_gw=(toks[0] == "true"))), }, + # is_public: true|false OR is_exposed: true|false + 'is_public': { + 'keyword': ['is_public', 'is_exposed'], + 'keywordOptional': False, + 'value': Or([CaselessLiteral(b) for b in ['true', 'false']]), + 'parseAction': lambda toks: ("is_exposed", + Q(is_exposed=(toks[0] == "true"))), + }, + # status: internal|public OR internal|public + 'public': { + 'keyword': 'status', + 'keywordOptional': True, + 'value': Or([CaselessLiteral(b) for b in ['public', 'internal']]), + 'parseAction': lambda toks: ("is_exposed", + Q(is_exposed=(toks[0] == "public"))), + }, # created: yesterday .. now (uses events.nltime.nltimeExpression) 'created_nl': { 'keyword': 'created', @@ -153,7 +170,6 @@ parameter_dicts = { }, } - # Compile a list of expressions to try to match expr_list = [] for k,p in parameter_dicts.iteritems(): diff --git a/gracedb/templates/search/query_help_frag.html b/gracedb/templates/search/query_help_frag.html index 9e4477a64..e9e135197 100644 --- a/gracedb/templates/search/query_help_frag.html +++ b/gracedb/templates/search/query_help_frag.html @@ -151,4 +151,14 @@ <h4>By label</h4> Same as for events. + + <h4>By public status</h4> + Use the <code>is_public:</code> or <code>is_exposed:</code> keywords: + <ul> + <li>is_public: True</li> + <li>is_exposed: True</li> + </ul> + Or, just add either "public" or "internal" to your query. + + </div> -- GitLab