forked from DavBfr/dart_pdf
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpana_report.py
46 lines (37 loc) · 1.39 KB
/
pana_report.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from __future__ import print_function
import sys
import json
import re
def parse_suggestions(data):
for item in data:
print(' -', item['description'].replace(
'\n\n',
'\n').replace('\n', '\n '))
def parse_key(data):
for key, val in data.iteritems():
if val is False:
continue
if val == 0:
continue
if key == 'strongModeEnabled' and val is True:
continue
label = re.sub(r"([a-z])([A-Z])", r"\g<1> \g<2>", key).capitalize()
if key == 'suggestions':
print(' - {key}:'.format(key=label))
parse_suggestions(val)
continue
print(' - {key}: {val}'.format(key=label, val=val))
def main():
json_data = sys.stdin.read()
data = json.loads(json_data)
data['problems'] = data['health']['analyzeProcessFailed'] or data['health'][
'formatProcessFailed'] or data['health']['resolveProcessFailed']
data['healthErrors'] = data['health']['analyzerErrorCount']
data['healthWarnings'] = data['health']['analyzerWarningCount']
data['healthHint'] = data['health']['analyzerHintCount']
data['healthConflict'] = data['health']['platformConflictCount']
print('Package {packageName} version {packageVersion}'.format(**data))
parse_key(data['health'])
parse_key(data['maintenance'])
if __name__ == "__main__":
main()