#!/usr/bin/env python3 """ Test script to output template data as JSON for debugging the templates page. """ import json import sys from pathlib import Path # Add backend to path sys.path.insert(0, str(Path(__file__).parent / "backend")) try: from app.core.templates import template_registry def template_to_dict(template): """Convert UnitTemplate to dictionary.""" parameters = [] for param in template.parameters: param_dict = { "name": param.name, "description": param.description, "type": param.parameter_type, "required": param.required, "default": param.default, "choices": param.choices, "example": param.example, } parameters.append(param_dict) return { "name": template.name, "description": template.description, "unit_type": template.unit_type.value, "category": template.category, "parameters": parameters, "tags": template.tags or [], } # Get all templates templates = template_registry.list_templates() template_data = [template_to_dict(template) for template in templates] print("Available templates:") print(json.dumps(template_data, indent=2)) print(f"\nTotal templates: {len(template_data)}") # Show categories categories = set(t["category"] for t in template_data) print(f"Categories: {sorted(categories)}") except Exception as e: print(f"Error: {e}") import traceback traceback.print_exc()