Passed
Push — master ( 087b33...31b5c2 )
by Matěj
06:21 queued 12s
created

oval_graph.arf_to_json   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 28
dl 0
loc 36
ccs 27
cts 27
cp 1
rs 10
c 0
b 0
f 0
wmc 7

3 Methods

Rating   Name   Duplication   Size   Complexity  
A ArfToJson.save_dict_as_json() 0 3 2
A ArfToJson.prepare_data() 0 14 4
A ArfToJson.create_dict_of_rule() 0 2 1
1 1
import webbrowser
2 1
import json
3 1
import os
4 1
import shutil
5 1
import pprint
6 1
from datetime import datetime
7
8
9 1
from .converter import Converter
10 1
from .client import Client
11
12
13 1
class ArfToJson(Client):
14
15 1
    def create_dict_of_rule(self, rule_id):
16 1
        return self.xml_parser.get_oval_tree(rule_id).save_tree_to_dict()
17
18 1
    def save_dict_as_json(self, dict_, src):
19 1
        with open(src + '.json', "w+") as f:
20 1
            json.dump(dict_, f)
21
22 1
    def prepare_data(self, rules):
23 1
        try:
24 1
            out = []
25 1
            for rule in rules['rules']:
26 1
                oval_tree_dict = self.create_dict_of_rule(rule)
27 1
                if self.out is not None:
28 1
                    src = self.get_save_src(rule)
29 1
                    self.save_dict_as_json(oval_tree_dict, src)
30 1
                    out.append(src)
31
                else:
32 1
                    print(str(json.dumps(oval_tree_dict, sort_keys=False, indent=4)))
33 1
            return out
34 1
        except Exception as error:
35
            raise ValueError('Rule: "{}" Error: "{}"'.format(rule, error))
36