"""Migrate flash_profiles.json from single binary_path to golden/user binary paths. This script updates the JSON file to match the new FlashTarget structure. """ import json from pathlib import Path def migrate_profiles_json(): """Migrate flash_profiles.json to new format.""" json_path = Path("flash_profiles.json") if not json_path.exists(): print("flash_profiles.json not found") return # Load existing data with open(json_path, 'r', encoding='utf-8') as f: data = json.load(f) # Migrate targets migrated_count = 0 for target_id, target in data.get('targets', {}).items(): # Check if migration needed if 'binary_path' in target and 'golden_binary_path' not in target: # Move binary_path to user_binary_path (default) old_binary = target.pop('binary_path') target['golden_binary_path'] = None target['user_binary_path'] = old_binary migrated_count += 1 print(f"Migrated {target_id}: binary_path -> user_binary_path") if migrated_count > 0: # Save updated data with open(json_path, 'w', encoding='utf-8') as f: json.dump(data, f, indent=2) print(f"\n✅ Migrated {migrated_count} targets successfully") print(f"Updated file: {json_path}") else: print("No migration needed - file is already up to date") if __name__ == "__main__": migrate_profiles_json()