@@ -50,27 +50,37 @@ def write_json(deltacode, outfile, all_delta_types=False):
5050 ('deltas_count' , len ([d for d in deltas (deltacode , all_delta_types )])),
5151 ('delta_stats' , deltacode .stats .to_dict ()),
5252 ('deltas' , deltas (deltacode , all_delta_types ))
53- ])
54-
55- if ( outfile .name != '<stdout>' ):
56-
57- click .secho (get_notice_for_cli (),fg = "green" )
58- click .echo ('deltas_count: {}' .format (len ([d for d in deltas (deltacode , all_delta_types )])))
59- click .echo ('delta_stats: ' )
60- for stat in deltacode .stats .to_dict ():
61- click .echo (""" "{}": {}""" .format (str (stat ),deltacode .stats .to_dict ()[stat ]))
62- # TODO: add toggle for pretty printing
63-
64- delta_count = 1
65- for delta in deltacode .deltas :
66- if delta .status != "unmodified" :
67- click .secho ("Delta {}" .format (delta_count ),fg = "blue" )
68- click .echo (delta )
69- delta_count += 1
70- click .secho ("--------------------ALL DELTAS GENERATED--------------------" ,fg = "yellow" )
71-
72- simplejson .dump (results , outfile , iterable_as_array = True , indent = 2 )
73- outfile .write ('\n ' )
53+ ])
54+
55+ try :
56+
57+ simplejson .dump (results , outfile , iterable_as_array = True , indent = 2 )
58+ outfile .write ('\n ' )
59+ if outfile .name != '<stdout>' :
60+ "This condition arises when we are required to print in the json file and the value of -j in not the console terminal"
61+ click .secho (get_notice_for_cli (),fg = "green" )
62+ click .echo ('deltas_count: {}' .format (len ([d for d in deltas (deltacode , all_delta_types )])))
63+ click .echo ('delta_stats: ' )
64+ for stat in deltacode .stats .to_dict ():
65+ click .echo (""" "{}": {}""" .format (str (stat ),deltacode .stats .to_dict ()[stat ]))
66+ # TODO: add toggle for pretty printing
67+
68+ delta_count = 1
69+ for delta in deltacode .deltas :
70+ if delta .status != "unmodified" :
71+ click .echo ("\n " )
72+ click .secho ("delta {}" .format (delta_count ))
73+ click .echo (delta )
74+ delta_count += 1
75+ click .secho ("#" * 211 + "\n " ,fg = "yellow" )
76+ click .secho (" " * 70 + "All deltas are generated, view the json file for details" + "\n " , fg = "green" )
77+ click .secho ("#" * 211 ,fg = "yellow" )
78+
79+ except Exception as e :
80+ "This exception arises when outfile has no name attribute"
81+ simplejson .dump (results , outfile , iterable_as_array = True , indent = 2 )
82+ outfile .write ('\n ' )
83+
7484
7585def print_version (ctx , param , value ):
7686 if not value or ctx .resilient_parsing :
0 commit comments