Spaces:
Running
Running
#!/usr/bin/env python3 | |
""" | |
Script to generate normalized data cache for faster visualization loading. | |
Usage: | |
python generate_normalized_cache.py [input_file] [output_file] | |
Example: | |
python generate_normalized_cache.py data/rank_data.json normalized_data.json | |
""" | |
import sys | |
import json | |
from data_visualization import generate_and_save_normalized_data, load_normalized_data | |
def main(): | |
# Default files | |
input_file = "data/rank_data.json" # Update this path as needed | |
output_file = "normalized_data.json" | |
# Handle command line arguments | |
if len(sys.argv) > 1: | |
input_file = sys.argv[1] | |
if len(sys.argv) > 2: | |
output_file = sys.argv[2] | |
try: | |
# Load rank data | |
print(f"Loading rank data from {input_file}...") | |
with open(input_file, 'r') as f: | |
rank_data = json.load(f) | |
# Generate and save normalized data | |
print("Generating normalized data...") | |
saved_path = generate_and_save_normalized_data(rank_data, output_file) | |
# Verify the saved data | |
print("Verifying saved data...") | |
cached_data = load_normalized_data(output_file) | |
if cached_data: | |
print(f"โ Successfully generated normalized data cache!") | |
print(f"๐ Saved to: {saved_path}") | |
print(f"๐ฎ Games included: {list(cached_data['games'].keys())}") | |
print(f"๐ฅ Players included: {len(cached_data['players'])}") | |
print(f"๐ Generated at: {cached_data['timestamp']}") | |
else: | |
print("โ Failed to verify cached data") | |
except FileNotFoundError: | |
print(f"โ Error: Could not find input file '{input_file}'") | |
print("Please check the file path and try again.") | |
except Exception as e: | |
print(f"โ Error: {str(e)}") | |
if __name__ == "__main__": | |
main() |