Fix age searching
This pretty much just didn't work at all. Change-Id: I1ce40b6d89f6000149360649b54728d395329cae
This commit is contained in:
parent
b89ae385b7
commit
44dcc6a1d8
|
@ -62,7 +62,7 @@ class SearchCompiler(object):
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
class Dummy(object):
|
class Dummy(object):
|
||||||
pass
|
pass
|
||||||
query = 'message:"Blueprint"'
|
query = 'NOT label:Code-Review<=2 age:5d'
|
||||||
lexer = tokenizer.SearchTokenizer()
|
lexer = tokenizer.SearchTokenizer()
|
||||||
lexer.input(query)
|
lexer.input(query)
|
||||||
while True:
|
while True:
|
||||||
|
|
|
@ -85,34 +85,26 @@ def SearchParser():
|
||||||
| USTRING'''
|
| USTRING'''
|
||||||
p[0] = p[1]
|
p[0] = p[1]
|
||||||
|
|
||||||
def p_age_unit(p):
|
|
||||||
'''age_unit : SECONDS
|
|
||||||
| MINUTES
|
|
||||||
| HOURS
|
|
||||||
| DAYS
|
|
||||||
| WEEKS
|
|
||||||
| MONTHS
|
|
||||||
| YEARS'''
|
|
||||||
p[0] = p[1]
|
|
||||||
|
|
||||||
def p_age_term(p):
|
def p_age_term(p):
|
||||||
'''age_term : OP_AGE NUMBER age_unit'''
|
'''age_term : OP_AGE NUMBER string'''
|
||||||
now = datetime.datetime.utcnow()
|
now = datetime.datetime.utcnow()
|
||||||
delta = p[1]
|
delta = p[2]
|
||||||
unit = p[2]
|
unit = p[3]
|
||||||
if unit == 'minutes':
|
if unit in ['seconds', 'second', 'sec', 's']:
|
||||||
|
pass
|
||||||
|
elif unit in ['minutes', 'minute', 'min', 'm']:
|
||||||
delta = delta * 60
|
delta = delta * 60
|
||||||
elif unit == 'hours':
|
elif unit in ['hours', 'hour', 'hr', 'h']:
|
||||||
delta = delta * 60 * 60
|
delta = delta * 60 * 60
|
||||||
elif unit == 'days':
|
elif unit in ['days', 'day', 'd']:
|
||||||
delta = delta * 60 * 60 * 60
|
delta = delta * 60 * 60 * 24
|
||||||
elif unit == 'weeks':
|
elif unit in ['weeks', 'week', 'w']:
|
||||||
delta = delta * 60 * 60 * 60 * 7
|
delta = delta * 60 * 60 * 24 * 7
|
||||||
elif unit == 'months':
|
elif unit in ['months', 'month', 'mon']:
|
||||||
delta = delta * 60 * 60 * 60 * 30
|
delta = delta * 60 * 60 * 24 * 30
|
||||||
elif unit == 'years':
|
elif unit in ['years', 'year', 'y']:
|
||||||
delta = delta * 60 * 60 * 60 * 365
|
delta = delta * 60 * 60 * 24 * 365
|
||||||
p[0] = gertty.db.change_table.c.updated < (now-delta)
|
p[0] = gertty.db.change_table.c.updated < (now-datetime.timedelta(seconds=delta))
|
||||||
|
|
||||||
def p_change_term(p):
|
def p_change_term(p):
|
||||||
'''change_term : OP_CHANGE CHANGE_ID
|
'''change_term : OP_CHANGE CHANGE_ID
|
||||||
|
|
|
@ -51,13 +51,6 @@ tokens = [
|
||||||
'NEG',
|
'NEG',
|
||||||
'LPAREN',
|
'LPAREN',
|
||||||
'RPAREN',
|
'RPAREN',
|
||||||
'SECONDS',
|
|
||||||
'MINUTES',
|
|
||||||
'HOURS',
|
|
||||||
'DAYS',
|
|
||||||
'WEEKS',
|
|
||||||
'MONTHS',
|
|
||||||
'YEARS',
|
|
||||||
'NUMBER',
|
'NUMBER',
|
||||||
'CHANGE_ID',
|
'CHANGE_ID',
|
||||||
'SSTRING',
|
'SSTRING',
|
||||||
|
@ -119,34 +112,6 @@ def SearchTokenizer():
|
||||||
t.value=t.value.decode("string-escape")
|
t.value=t.value.decode("string-escape")
|
||||||
return t
|
return t
|
||||||
|
|
||||||
def t_SECONDS(t):
|
|
||||||
r's|sec|second|seconds'
|
|
||||||
t.value = 'seconds'
|
|
||||||
|
|
||||||
def t_MINUTES(t):
|
|
||||||
r'm|min|minute|minutes'
|
|
||||||
t.value = 'minutes'
|
|
||||||
|
|
||||||
def t_HOURS(t):
|
|
||||||
r'h|hr|hour|hours'
|
|
||||||
t.value = 'hours'
|
|
||||||
|
|
||||||
def t_DAYS(t):
|
|
||||||
r'd|day|days'
|
|
||||||
t.value = 'days'
|
|
||||||
|
|
||||||
def t_WEEKS(t):
|
|
||||||
r'w|week|weeks'
|
|
||||||
t.value = 'weeks'
|
|
||||||
|
|
||||||
def t_MONTHS(t):
|
|
||||||
r'mon|month|months'
|
|
||||||
t.value = 'months'
|
|
||||||
|
|
||||||
def t_YEARS(t):
|
|
||||||
r'y|year|years'
|
|
||||||
t.value = 'years'
|
|
||||||
|
|
||||||
def t_newline(t):
|
def t_newline(t):
|
||||||
r'\n+'
|
r'\n+'
|
||||||
t.lexer.lineno += len(t.value)
|
t.lexer.lineno += len(t.value)
|
||||||
|
|
Loading…
Reference in New Issue