import logging from typing import List, Dict, Any # Setup logging logging.basicConfig( filename="app.log", level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s" ) def update_metrics(detected_items: List[Dict[str, Any]]) -> Dict[str, Any]: """ Update metrics based on detected items. Args: detected_items: List of detected items (dicts with type, confidence, etc.) Returns: dict: Updated metrics """ try: items = detected_items if detected_items else [] metrics = { "items": items, "total_detected": len(items), "cracks": len([item for item in items if item.get("type") == "crack"]), "holes": len([item for item in items if item.get("type") == "hole"]) } logging.info(f"Updated metrics: {metrics}") return metrics except Exception as e: logging.error(f"Error updating metrics: {str(e)}") return { "items": [], "total_detected": 0, "cracks": 0, "holes": 0 }