diff --git a/gracedb/search/query/superevents.py b/gracedb/search/query/superevents.py index 1d6b795d06d144af37d9abe14dbe45dd8f02c414..43819ccdb434d097dcc059b3064e7e23c4aa1aee 100644 --- a/gracedb/search/query/superevents.py +++ b/gracedb/search/query/superevents.py @@ -70,7 +70,7 @@ parameter_dicts = { 't_0': { 'keyword': ['t_0', 'gpstime'], 'keywordOptional': True, - 'value': Word(nums+'.'), + 'value': pyparsing_common.number, 'doRange': True, 'parseAction': maybeRange('t_0'), }, @@ -78,7 +78,7 @@ parameter_dicts = { 't_start': { 'keyword': 't_start', 'keywordOptional': False, - 'value': Word(nums+'.'), + 'value': pyparsing_common.number, 'doRange': True, 'parseAction': maybeRange('t_start'), }, @@ -86,7 +86,7 @@ parameter_dicts = { 't_end': { 'keyword': 't_end', 'keywordOptional': False, - 'value': Word(nums+'.'), + 'value': pyparsing_common.number, 'doRange': True, 'parseAction': maybeRange('t_end'), }, @@ -199,7 +199,11 @@ for k,p in parameter_dicts.iteritems(): # Define val and set name val = p['value'] val.setName(k) - expr = val + + # Add range with format: parameter .. parameter + if p.has_key('doRange') and p['doRange']: + range_val = val + Suppress("..") + val + val ^= range_val # Add keyword. Format is keyword: value if p.has_key('keyword'): @@ -216,12 +220,9 @@ for k,p in parameter_dicts.iteritems(): keyword = Optional(keyword) # Combine keyword and value into a single expression - expr = keyword + expr - - # Add range with format: parameter .. parameter - if p.has_key('doRange') and p['doRange']: - range_val = val + Suppress("..") + val - val ^= range_val + expr = keyword + val + else: + expr = val # Set parse action expr = expr.setParseAction(p['parseAction'])