Passed
Push — master ( ad8ece...21ae0e )
by Matěj
07:31 queued 11s
created

oval_graph.command_line.json_to_graph()   A

Complexity

Conditions 3

Size

Total Lines 9
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 3.0175

Importance

Changes 0
Metric Value
cc 3
eloc 8
nop 1
dl 0
loc 9
rs 10
c 0
b 0
f 0
ccs 7
cts 8
cp 0.875
crap 3.0175
1 1
import sys
2 1
import traceback
3
4 1
from .arf_to_html import ArfToHtml
5 1
from .arf_to_json import ArfToJson
6 1
from .json_to_html import JsonToHtml
7
8 1
CRED = '\033[91m'
9 1
CEND = '\033[0m'
10
11
12 1
def print_where_is_saved_result(results_src):
13 1
    if results_src:
14 1
        print("Results are saved:", file=sys.stderr)
15 1
        for src in results_src:
16 1
            print(src, file=sys.stderr)
17
18
19 1
def print_detail_traceback_if_verbose(args):
20 1
    if args is None:
21
        args = sys.argv[1:]
22
23 1
    if any(arg in args for arg in ("-v", "--verbose")):
24 1
        traceback.print_exc()
25
26
27 1
def arf_to_graph(args=None):
28 1
    try:
29 1
        if args is not None:
30 1
            main(ArfToHtml(args))
31
        else:
32
            main(ArfToHtml(sys.argv[1:]))
33 1
    except Exception as error:
34 1
        print_detail_traceback_if_verbose(args)
35 1
        print((CRED + 'Error: {}' + CEND).format(error))
36
37
38 1
def arf_to_json(args=None):
39 1
    try:
40 1
        if args is not None:
41 1
            main(ArfToJson(args))
42
        else:
43
            main(ArfToJson(sys.argv[1:]))
44 1
    except Exception as error:
45 1
        print_detail_traceback_if_verbose(args)
46 1
        print((CRED + 'Error: {}' + CEND).format(error))
47
48
49 1
def json_to_graph(args=None):
50 1
    try:
51 1
        if args is not None:
52 1
            main(JsonToHtml(args))
53
        else:
54
            main(JsonToHtml(sys.argv[1:]))
55 1
    except Exception as error:
56 1
        print_detail_traceback_if_verbose(args)
57 1
        print((CRED + 'Error: {}' + CEND).format(error))
58
59
60 1
def main(client):
61 1
    results_src = []
62 1
    rules = client.search_rules_id()
63 1
    if len(rules) > 1:
64 1
        answers = client.run_gui_and_return_answers()
65 1
        if answers is not None:
66 1
            results_src = client.prepare_data(answers)
67
    else:
68 1
        results_src = client.prepare_data({'rules': [rules[0]]})
69 1
    if client.verbose:
70 1
        print_where_is_saved_result(results_src)
71
72
73 1
if __name__ == '__main__':
74 1
    if sys.argv[1] == "arf-to-graph":
75 1
        arf_to_graph(sys.argv[2:])
76 1
    elif sys.argv[1] == "arf-to-json":
77 1
        arf_to_json(sys.argv[2:])
78 1
    elif sys.argv[1] == "json-to-graph":
79 1
        json_to_graph(sys.argv[2:])
80
    else:
81
        print("err- Bad command!")
82