mirror of
https://github.com/Dvorinka/Devour.git
synced 2026-07-28 23:23:48 +00:00
56 lines
1.7 KiB
Python
Executable File
56 lines
1.7 KiB
Python
Executable File
#!/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()
|