diff --git a/share/analysis-scripts/normalize_jcdb.py b/share/analysis-scripts/normalize_jcdb.py index 319a52d252aab583b2682b499adb574c4321b81b..041baef52d449f8fb0e73d0c39a542ecf481f4c2 100755 --- a/share/analysis-scripts/normalize_jcdb.py +++ b/share/analysis-scripts/normalize_jcdb.py @@ -50,6 +50,8 @@ jcdb_json = json.loads(open(arg).read()) jcdb_dir = arg.parent out_json = {} +replacements = set() + nb_diffs = 0 for entry in jcdb_json: if "file" in entry and os.path.isabs(entry["file"]): @@ -57,6 +59,7 @@ for entry in jcdb_json: entry["file"] = os.path.relpath(entry["file"], jcdb_dir) if old_entry != entry["file"]: nb_diffs += 1 + replacements.add(f"{old_entry} -> {entry['file']}") else: print(f"warning: absolute path could not be normalized: {entry['file']}") elif "directory" in entry and os.path.isabs(entry["directory"]): @@ -64,12 +67,15 @@ for entry in jcdb_json: entry["directory"] = os.path.relpath(entry["directory"], jcdb_dir) if old_entry != entry["directory"]: nb_diffs += 1 + replacements.add(f"{old_entry} -> {entry['directory']}") else: print(f"warning: absolute path could not be normalized: {entry['directory']}") if nb_diffs == 0: print(f"No changes to be applied to {arg}") else: + replacements_str = "\n".join(sorted(replacements)) + print(f"Replacements to be made:\n{replacements_str}") yn = input(f"{nb_diffs} replacements to be applied. Normalize {arg}? [y/N] ") if yn.lower() == "y": with open(arg, 'w', encoding='utf-8') as outfile: