def index(request): all_devices = Device.objects.all() last_5_searches = Search.objects.filter().order_by('-id')[:5] ics_len = Device.objects.filter(category="ics") coordinates_search_len = Device.objects.filter(category="coordinates") search_all = Search.objects.all() task = request.session.get('task_id') ports = Device.objects.values('port').annotate( c=Count('port')).order_by('-c')[:7] ports_list = list(ports) vulns = Device.objects.exclude(vulns__isnull=True).exclude(vulns__exact='') vulns_list = [] for i in vulns: vulns_list.append(ast.literal_eval(i.vulns)) cves = [] for i in vulns_list: for j in i: cves.append(j) countr_cves = {} c = Counter(cves) for key, value in c.items(): countr_cves[key] = value sort = sorted(countr_cves.items())[:7] countries = {} for i in search_all: countries[i.country] = "1" #make list out of last 5 searches for j in last_5_searches: try: j.country = pycountry.countries.get(alpha_2=j.country).name j.ics = ast.literal_eval(j.ics) except: pass try: j.coordinates_search = ast.literal_eval(j.coordinates_search) except: pass credits = check_credits() context = { 'device': all_devices, "search": last_5_searches, "ics": ics_len, "coordinates": coordinates_search_len, "ports": ports_list, "countries": countries, 'vulns': sort, "task_id": task, "search_len": search_all, "credits": credits } return render(request, 'index.html', context)
def index(request): a = Device.objects.all() w = Search.objects.filter().order_by('-id')[:5] ics_len = Device.objects.filter(category="ics") coordinates_search_len = Device.objects.filter(category="coordinates") search_len = Search.objects.all() task = request.session.get('task_id') port = Device.objects.values('port').annotate( c=Count('port')).order_by('-c')[:7] k = list(port) vulns1 = Device.objects.exclude(vulns__isnull=True).exclude( vulns__exact='') tab = [] for i in vulns1: tab.append(ast.literal_eval(i.vulns)) cves = [] for i in tab: for j in i: cves.append(j) d = {} c = Counter(cves) for key, value in c.items(): d[key] = value sort = sorted(d.items())[:7] countries = {} for i in search_len: countries[i.country] = "1" for j in w: try: j.country = pycountry.countries.get(alpha_2=j.country).name j.ics = ast.literal_eval(j.ics) except: pass try: j.coordinates_search = ast.literal_eval(j.coordinates_search) except: pass credits = check_credits() context = { 'device': a, "search": w, "ics": ics_len, "coordinates": coordinates_search_len, "ports": k, "countries": countries, 'vulns': sort, "task_id": task, "search_len": search_len, "credits": credits } # print(context) return render(request, 'index.html', context)