@@ -154,14 +154,17 @@ def process_directory_comparison(
154154 Compares JSON files across two directories and prints results in a list format.
155155 """
156156 results : dict [str , list [str ]] = {"OK" : [], "BAD" : [], "MISS" : [], "NEW" : []}
157+ diffs : dict [str , DeepDiff ] = {}
157158 old_files = {p .name for p in old_dir .glob ("*.json" )}
158159 new_files = {p .name for p in new_dir .glob ("*.json" )}
159160
160161 for filename in sorted (old_files .intersection (new_files )):
161- status , _ = compare_json_files (
162+ status , diff = compare_json_files (
162163 old_dir / filename , new_dir / filename , ignore_fields
163164 )
164165 results ["BAD" if status != "OK" else "OK" ].append (filename )
166+ if diff :
167+ diffs [filename ] = diff
165168
166169 for filename in sorted (old_files - new_files ):
167170 results ["MISS" ].append (filename )
@@ -175,6 +178,10 @@ def process_directory_comparison(
175178 print (f"[NEW ] { filename } " )
176179 for filename in results ["BAD" ]:
177180 print (f"[BAD ] { filename } " , file = sys .stderr )
181+ if filename in diffs :
182+ custom_output = format_diff_custom (diffs [filename ])
183+ print (custom_output , file = sys .stderr )
184+ print ("-" * 40 , file = sys .stderr )
178185 for filename in results ["MISS" ]:
179186 print (f"[MISS] { filename } " , file = sys .stderr )
180187
0 commit comments