Skip to content

Commit

Permalink
Extending datetime search to include start_datetime and end_datetime.
Browse files Browse the repository at this point in the history
  • Loading branch information
rhysrevans3 committed Jan 5, 2024
1 parent 61c01cb commit 2f8d666
Showing 1 changed file with 90 additions and 8 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -388,18 +388,100 @@ def apply_datetime_filter(search: Search, datetime_search):
Returns:
Search: The filtered search object.
"""
should = []

if "eq" in datetime_search:
search = search.filter(
"term", **{"properties__datetime": datetime_search["eq"]}
should.extend(
[
Q(
"bool",
filter=[
Q(
"term",
properties__datetime=datetime_search["eq"],
),
],
),
Q(
"bool",
filter=[
Q(
"range",
properties__start_datetime={
"lte": datetime_search["eq"],
},
),
Q(
"range",
properties__end_datetime={
"gte": datetime_search["eq"],
},
),
],
),
]
)

else:
search = search.filter(
"range", properties__datetime={"lte": datetime_search["lte"]}
)
search = search.filter(
"range", properties__datetime={"gte": datetime_search["gte"]}
should.extend(
[
Q(
"bool",
filter=[
Q(
"range",
properties__datetime={
"gte": datetime_search["gte"],
"lte": datetime_search["lte"],
},
),
],
),
Q(
"bool",
filter=[
Q(
"range",
properties__start_datetime={
"gte": datetime_search["gte"],
"lte": datetime_search["lte"],
},
),
],
),
Q(
"bool",
filter=[
Q(
"range",
properties__end_datetime={
"gte": datetime_search["gte"],
"lte": datetime_search["lte"],
},
),
],
),
Q(
"bool",
filter=[
Q(
"range",
properties__start_datetime={
"lte": datetime_search["gte"]
},
),
Q(
"range",
properties__end_datetime={
"gte": datetime_search["lte"]
},
),
],
),
]
)
return search

search = search.query(Q("bool", filter=[Q("bool", should=should)]))

@staticmethod
def apply_bbox_filter(search: Search, bbox: List):
Expand Down

0 comments on commit 2f8d666

Please sign in to comment.