Group sessions by day and calculate daily totals.
(sessions)
| 99 | |
| 100 | |
| 101 | def analyze_daily_programming(sessions): |
| 102 | """Group sessions by day and calculate daily totals.""" |
| 103 | daily_data = defaultdict( |
| 104 | lambda: {"duration_minutes": 0, "sessions": 0, "commits": 0} |
| 105 | ) |
| 106 | |
| 107 | for session in sessions: |
| 108 | date_key = session["start"].date() |
| 109 | daily_data[date_key]["duration_minutes"] += session["duration_minutes"] |
| 110 | daily_data[date_key]["sessions"] += 1 |
| 111 | daily_data[date_key]["commits"] += len(session["commits"]) |
| 112 | |
| 113 | return dict(daily_data) |
| 114 | |
| 115 | |
| 116 | def create_comprehensive_visualization(sessions, daily_data): |