Implement meta search
This commit is contained in:
@@ -5,6 +5,7 @@ from django.views import View
|
||||
from rest_framework.parsers import FormParser
|
||||
from rest_framework.views import APIView
|
||||
|
||||
from core.lib.meta import get_meta
|
||||
from core.lib.nicktrace import get_nicks
|
||||
from core.lib.opensearch import query_single_result
|
||||
from core.lib.threshold import (
|
||||
@@ -90,8 +91,24 @@ class InsightsMeta(LoginRequiredMixin, APIView):
|
||||
return HttpResponse("No nick")
|
||||
net = request.data["net"]
|
||||
nick = request.data["nick"]
|
||||
meta = get_meta(request, net, [nick])
|
||||
unique_values = {}
|
||||
for x in meta:
|
||||
for k, v in x.items():
|
||||
if k not in unique_values:
|
||||
unique_values[k] = set()
|
||||
unique_values[k].add(v)
|
||||
meta_dedup = []
|
||||
for x in meta:
|
||||
meta_l2 = {}
|
||||
for k, v in x.items():
|
||||
if v in unique_values[k]:
|
||||
meta_l2[k] = v
|
||||
unique_values[k].remove(v)
|
||||
if not set(meta_l2.keys()).issubset(set(["ts", "time", "date", "id"])):
|
||||
meta_dedup.append(meta_l2)
|
||||
|
||||
context = {"net": net, "nick": nick}
|
||||
context = {"net": net, "nick": nick, "meta": meta_dedup}
|
||||
return render(request, self.template_name, context)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user