| import json | |
| import sys | |
| files = [ | |
| "output/analysis_example_frankenstein/results.json", | |
| "output/analysis_frankenstein/results.json" | |
| ] | |
| required_keys = { | |
| "input_file", "approach", "n_speakers", "talker_of_interest", | |
| "sources", "duration_seconds" | |
| } | |
| all_valid = True | |
| for file in files: | |
| try: | |
| with open(file) as f: | |
| data = json.load(f) | |
| missing = required_keys - set(data.keys()) | |
| if missing: | |
| print(f"β {file}: Missing keys: {missing}") | |
| all_valid = False | |
| continue | |
| if len(data["sources"]) != 4: | |
| print(f"β {file}: Expected 4 sources, got {len(data['sources'])}") | |
| all_valid = False | |
| continue | |
| print(f"β {file}") | |
| print(f" - Speakers: {data['n_speakers']}") | |
| print(f" - TOI: Speaker {data['talker_of_interest']}") | |
| except Exception as e: | |
| print(f"β {file}: {e}") | |
| all_valid = False | |
| if all_valid: | |
| print("\nβ All JSON files valid") | |
| sys.exit(0) | |
| else: | |
| print("\nβ Validation failed") | |
| sys.exit(1) | |