Passed
Pull Request — master (#103)
by Jan
06:24
created

openscap_report.report_generators.json   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Test Coverage

Coverage 50%

Importance

Changes 0
Metric Value
eloc 15
dl 0
loc 22
ccs 7
cts 14
cp 0.5
rs 10
c 0
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A JSONReportGenerator.generate_report() 0 8 2
A JSONReportGenerator.__init__() 0 2 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):  # pylint: disable=W0231
12
        self.report = parser.parse_report()
13
14 1
    def generate_report(self, debug_setting):
15
        logging.warning("JSON Format is experimental output!")
16
17
        indent = None
18
        if debug_setting.no_minify:
19
            indent = "\t"
20
        json_data = json.dumps(self.report.as_dict(), indent=indent)
21
        return BytesIO(json_data.encode())
22