Skip to content
Snippets Groups Projects
Commit b45237ef authored by Tanner Prestegard's avatar Tanner Prestegard Committed by GraceDB
Browse files

Bugfix for superevent queries by creation time

Fixing a bug in superevent queries by creation time:
using Combine on the expression resulted in incorrect args
being passed to construct a datetime object.
parent f3618edd
No related branches found
No related tags found
No related merge requests found
import datetime
import logging
import pytz
from django.db.models import Q
from django.db.models.query import QuerySet
......@@ -8,14 +12,15 @@ from events.nltime import nlTimeExpression as nltime_
from events.query_utils import maybeRange, getLabelQ, RUN_MAP
from .models import Superevent
import datetime
import pytz
from pyparsing import Word, nums, Literal, CaselessLiteral, delimitedList, \
Suppress, QuotedString, Keyword, Combine, Or, Optional, OneOrMore, \
ZeroOrMore, alphas, alphanums, Regex, opAssoc, operatorPrecedence, \
oneOf, stringStart, stringEnd, FollowedBy, ParseResults, ParseException, \
CaselessKeyword
# 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
......@@ -127,12 +132,12 @@ parameter_dicts = {
'keyword': 'created',
'keywordOptional': True,
'doRange': True,
'value': Combine(Word(nums, exact=4) + Suppress('-') + \
'value': (Word(nums, exact=4) + Suppress('-') + \
Word(nums, exact=2) + Suppress('-') + Word(nums, exact=2) + \
Optional(Word(nums, exact=2) + Suppress(':') + \
Word(nums, exact=2) + Optional(Suppress(':') + \
Word(nums, exact=2)))).setParseAction(lambda toks:
pytz.utc.localize(datetime.datetime(*(map(int, toks))))),
pytz.utc.localize(datetime.datetime(*map(int, toks)))),
'parseAction': maybeRange("created"),
},
# test OR category: test
......@@ -148,6 +153,7 @@ parameter_dicts = {
},
}
# Compile a list of expressions to try to match
expr_list = []
for k,p in parameter_dicts.iteritems():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment