Esempio n. 1
0
    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)
Esempio n. 2
0
    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())
Esempio n. 3
0
    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)