Delay results

This commit is contained in:
2022-08-27 12:53:37 +01:00
parent 0eda404732
commit a2d572baf4
5 changed files with 61 additions and 4 deletions

View File

@@ -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