This commit is contained in:
Tomas Dvorak
2026-02-22 15:41:27 +01:00
parent 0b88627e54
commit 409acd2e08
84 changed files with 65382 additions and 27475 deletions
+55
View File
@@ -0,0 +1,55 @@
#!/usr/bin/env python3
"""
Devour Scorecard CLI - Direct interface to generate scorecards from JSON data.
Usage: devour-scorecard <input.json> <output.png>
"""
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 <input.json> <output.png>")
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()