Spaces:
Sleeping
Sleeping
| import pandas as pd | |
| from database import get_all_leads, init_db | |
| def get_analytics(): | |
| """ | |
| Reads data from the SQLite database for the dashboard. | |
| Returns: | |
| A tuple of (DataFrame, dict) containing the data and statistics. | |
| """ | |
| # Ensure the database is initialized | |
| init_db() | |
| try: | |
| df = get_all_leads() | |
| if df is None or df.empty: | |
| return None, None | |
| stats = { | |
| "total": len(df), | |
| "success_rate": 0, | |
| } | |
| if "Outcome" in df.columns and not df.empty: | |
| # Filter out non-success/fail outcomes for accurate rate calculation | |
| relevant_outcomes = df[df["Outcome"].isin(["Success", "Fail"])] | |
| if not relevant_outcomes.empty: | |
| success_count = len(relevant_outcomes[relevant_outcomes["Outcome"] == "Success"]) | |
| stats["success_rate"] = round(success_count / len(relevant_outcomes) * 100, 1) | |
| return df, stats | |
| except Exception as e: | |
| print(f"Error getting analytics from database: {e}") | |
| return None, None | |