Spaces:
Sleeping
Sleeping
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 | |
} |