#!/usr/bin/env python3 """ Devour Scorecard CLI - Direct interface to generate scorecards from JSON data. Usage: devour-scorecard """ import sys import os from pathlib import Path # Add the cmd directory to Python path for imports sys.path.insert(0, str(Path(__file__).parent)) try: from devour_scorecard import load_devour_data, generate_scorecard except ImportError as e: print(f"Error importing scorecard module: {e}") sys.exit(1) def main(): if len(sys.argv) != 3: print("Usage: devour-scorecard ") print("") print("Examples:") print(" devour-scorecard devour_data/quality/status.json scorecard.png") print(" devour-scorecard scan_results.json health_badge.png") sys.exit(1) input_path = sys.argv[1] output_path = sys.argv[2] if not os.path.exists(input_path): print(f"Error: Input file '{input_path}' not found") sys.exit(1) try: # Load data and generate scorecard data = load_devour_data(input_path) result_path = generate_scorecard(data, output_path) # Calculate file sizes for info input_size = os.path.getsize(input_path) output_size = os.path.getsize(result_path) print(f"✅ Scorecard generated successfully!") print(f"📁 Output: {result_path}") print(f"📊 Input: {input_size:,} bytes → Output: {output_size:,} bytes") print(f"📈 Dimensions: {len(data.dimensions)} categories analyzed") except Exception as e: print(f"❌ Error generating scorecard: {e}") sys.exit(1) if __name__ == "__main__": main()