Passed
Pull Request — master (#105)
by Jan
06:05
created

openscap_report.report_generators.json   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Test Coverage

Coverage 47.37%

Importance

Changes 0
Metric Value
eloc 20
dl 0
loc 28
ccs 9
cts 19
cp 0.4737
rs 10
c 0
b 0
f 0
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A JSONEverythingReportGenerator.__init__() 0 3 1
A JSONReportGenerator.generate_report() 0 7 2
A JSONReportGenerator.__init__() 0 3 1
1
# Copyright 2022, Red Hat, Inc.
2
# SPDX-License-Identifier: LGPL-2.1-or-later
3 1
import json
4 1
import logging
5 1
from io import BytesIO
6
7 1
from .report_generator import ReportGenerator
8
9
10 1
class JSONReportGenerator(ReportGenerator):
11 1
    def __init__(self, parser):
12
        super().__init__(parser)
13
        self.get_report_dict = self.report.as_dict_for_default_json
14
15 1
    def generate_report(self, debug_setting):
16
        logging.warning("JSON Format is experimental output!")
17
        indent = None
18
        if debug_setting.no_minify:
19
            indent = "\t"
20
        json_data = json.dumps(self.get_report_dict(), indent=indent)
21
        return BytesIO(json_data.encode())
22
23
24 1
class JSONEverythingReportGenerator(JSONReportGenerator):
25 1
    def __init__(self, parser):
26
        super().__init__(parser)
27
        self.get_report_dict = self.report.as_dict
28