Delay results
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
from copy import deepcopy
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
from django.conf import settings
|
||||
from opensearchpy import OpenSearch
|
||||
@@ -327,8 +328,8 @@ def query_results(
|
||||
elif isinstance(x, LookupDenied):
|
||||
message += f"Lookup({x.key}: {x.value}) "
|
||||
if denied:
|
||||
#message = [f"{i}" for i in message]
|
||||
#message = "\n".join(message)
|
||||
# message = [f"{i}" for i in message]
|
||||
# message = "\n".join(message)
|
||||
message_class = "danger"
|
||||
return {"message": message, "class": message_class}
|
||||
|
||||
@@ -353,6 +354,8 @@ def query_results(
|
||||
return {"message": message, "class": message_class}
|
||||
if source != "all":
|
||||
add_bool.append({"src": source})
|
||||
|
||||
date_query = False
|
||||
if set({"from_date", "to_date", "from_time", "to_time"}).issubset(
|
||||
query_params.keys()
|
||||
):
|
||||
@@ -366,7 +369,31 @@ def query_results(
|
||||
}
|
||||
}
|
||||
}
|
||||
add_top.append(range_query)
|
||||
if not settings.DELAY_RESULTS:
|
||||
add_top.append(range_query)
|
||||
else:
|
||||
date_query = True
|
||||
|
||||
if settings.DELAY_RESULTS:
|
||||
if date_query:
|
||||
if not request.user.has_perm("bypass_delay"):
|
||||
delay_as_ts = datetime.now() - timedelta(days=settings.DELAY_DURATION)
|
||||
lt_as_ts = datetime.strptime(
|
||||
range_query["range"]["ts"]["lt"], "%Y-%m-%dT%H:%MZ"
|
||||
)
|
||||
if lt_as_ts > delay_as_ts:
|
||||
range_query["range"]["ts"]["lt"] = f"now-{settings.DELAY_DURATION}d"
|
||||
add_top.append(range_query)
|
||||
else:
|
||||
range_query = {
|
||||
"range": {
|
||||
"ts": {
|
||||
# "gt": ,
|
||||
"lt": f"now-{settings.DELAY_DURATION}d",
|
||||
}
|
||||
}
|
||||
}
|
||||
add_top.append(range_query)
|
||||
if "sorting" in query_params:
|
||||
sorting = query_params["sorting"]
|
||||
if sorting not in ("asc", "desc", "none"):
|
||||
@@ -556,6 +583,9 @@ def query_results(
|
||||
}
|
||||
if query:
|
||||
context["query"] = query
|
||||
if settings.DELAY_RESULTS:
|
||||
if not request.user.has_perm("bypass_delay"):
|
||||
context["delay"] = settings.DELAY_DURATION
|
||||
return context
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user