11import typer
22import os
33import json
4- import ast
54from typer import Exit
65from devolv .iam .validator .core import validate_policy_file
76from devolv .iam .validator .folder import validate_policy_folder
@@ -18,7 +17,6 @@ def validate(
1817 typer .secho (f"❌ File not found: { path } " , fg = typer .colors .RED )
1918 raise Exit (code = 1 )
2019
21- findings = []
2220 if os .path .isfile (path ):
2321 findings = validate_policy_file (path )
2422 elif os .path .isdir (path ):
@@ -40,25 +38,10 @@ def validate(
4038 typer .echo (json .dumps (findings , indent = 2 ))
4139 else :
4240 for finding in findings :
43- msg = finding .get ('message' , '' )
44- try :
45- inner_findings = ast .literal_eval (msg ) if isinstance (msg , str ) else msg
46- if isinstance (inner_findings , list ):
47- for inner in inner_findings :
48- typer .secho (
49- f"❌ { inner .get ('level' , '' ).upper ()} : { inner .get ('message' , '' )} " ,
50- fg = typer .colors .RED
51- )
52- else :
53- typer .secho (
54- f"❌ { finding .get ('level' , '' ).upper ()} : { msg } " ,
55- fg = typer .colors .RED
56- )
57- except Exception :
58- typer .secho (
59- f"❌ { finding .get ('level' , '' ).upper ()} : { msg } " ,
60- fg = typer .colors .RED
61- )
41+ typer .secho (
42+ f"❌ { finding .get ('level' , '' ).upper ()} : { finding .get ('message' , '' )} " ,
43+ fg = typer .colors .RED
44+ )
6245
6346 if any (f .get ("level" , "" ).lower () in ("error" , "high" ) for f in findings ):
6447 raise Exit (code = 1 )
0 commit comments