def post(self, request, *args, **kwargs): pattern_list_id = int(request.POST["pattern_list"]) data_set_id = int(request.POST["data_set"]) data_set = DataSet.objects.get(id=data_set_id) pattern_list = PatternList.objects.get(id=pattern_list_id) filter_list = [DjangoFilter(), DjangoDateFilter(), DjangoMatchFilter(), DjangoDateIntervalFilter()] view_data_filter = ViewDataFilter(filter_list, DjangoMatchesCounter()) filter_parameters = {"pattern_list": pattern_list.name, "data_set": data_set.name} extract_date(request.POST["start_date"], filter_parameters, "start_date") extract_date(request.POST["end_date"], filter_parameters, "end_date") self.logger.debug(filter_parameters) matches = view_data_filter.process_for_view(filter_parameters) l = list() for match in matches: l.append((match[0], match[1])) context = super(DatasetGraphsView, self).get_context_data(**kwargs) pie_chart = PieChart() chart_data = pie_chart.create_chart_data(l) context["CHART"] = chart_data context["TABLE_DATA"] = l context["START_DATE"] = request.POST["start_date"] context["END_DATE"] = request.POST["end_date"] context["DATA_SET"] = data_set context["PATTERN_LIST"] = pattern_list return self.render_to_response(context)
def test_view_data_filter_count_matches(self): filter_list = [DjangoFilter(), DjangoDateFilter(), DjangoMatchFilter()] view_data_filter = ViewDataFilter(filter_list, DjangoMatchesCounter()) filter_parameters = {"pattern_list": test_utils.TEST_PATTERN_LIST, "data_set": test_utils.TEST_DATA_SET, "match": "javax.net.ssl.SSLException"} matches_list = MatchingFileLine.objects.filter(match_text="javax.net.ssl.SSLException", result__pattern__pattern_list__name=test_utils.TEST_PATTERN_LIST, result__dataset_file__data_set__name=test_utils.TEST_DATA_SET) matches = view_data_filter.process_for_view(filter_parameters) self.assertEqual(matches[0][1], matches_list.count())
def post(self, request, *args, **kwargs): self.logger.debug("Time interval view") match = request.POST["match"] pattern_list_id = request.POST["pattern_list"] data_set_id = request.POST["data_set"] data_set_name = DataSet.objects.get(id=int(data_set_id)).name pattern_list_name = PatternList.objects.get(id=int(pattern_list_id)).name filter_parameters = dict() filter_parameters["match"] = match filter_parameters["pattern_list"] = pattern_list_name filter_parameters["data_set"] = data_set_name extract_date(request.POST["start_date"], filter_parameters, "start_date") extract_date(request.POST["end_date"], filter_parameters, "end_date") self.logger.info("Filtering: ", filter_parameters) filter_list = [DjangoFilter(), DjangoDateFilter(), DjangoMatchFilter(), DjangoDateIntervalFilter()] view_data_filter = ViewDataFilter(filter_list, DjangoDateCounter()) matches = view_data_filter.process_for_view(filter_parameters) self.logger.info("Found " + str(matches.count()) + " matches ") print matches[0] l = list() match_length = len(matches[0]) for m in matches: if match_length == 3 or match_length == 4: l.append((str(m[-3]) + "/" + str(m[-2]), m[-1])) elif match_length == 2: l.append((m[0], m[1])) print l[0] bar_chart = BarChart() chart_data_dict = dict() chart_data_dict["DATASET"] = l chart_data_dict["DATASET_LABEL"] = match chart_data = bar_chart.create_chart_data(chart_data_dict) # print chart_data context = super(TimeIntervalView, self).get_context_data(**kwargs) context["CHART"] = chart_data context["START_DATE"] = request.POST["start_date"] context["END_DATE"] = request.POST["end_date"] context["DATA_SET"] = data_set_name context["PATTERN_LIST"] = pattern_list_name return self.render_to_response(context)