MCPcopy Create free account
hub / github.com/KentBeck/BPlusTree3 / print_summary

Function print_summary

simple_time_analysis.py:144–204  ·  view source on GitHub ↗

Print comprehensive summary statistics.

(sessions, daily_data)

Source from the content-addressed store, hash-verified

142
143
144def print_summary(sessions, daily_data):
145 """Print comprehensive summary statistics."""
146 total_minutes = sum(s["duration_minutes"] for s in sessions)
147 total_hours = total_minutes / 60
148 total_commits = sum(len(s["commits"]) for s in sessions)
149
150 print("=" * 70)
151 print("PROGRAMMING TIME ANALYSIS SUMMARY")
152 print("=" * 70)
153 print(
154 f"Total Programming Time: {total_hours:.1f} hours ({total_minutes:.0f} minutes)"
155 )
156 print(f"Total Commits: {total_commits}")
157 print(f"Total Sessions: {len(sessions)}")
158 print(f"Programming Days: {len(daily_data)}")
159
160 if len(sessions) > 0:
161 print(f"Average Session Length: {total_minutes/len(sessions):.1f} minutes")
162 if len(daily_data) > 0:
163 print(f"Average Hours per Day: {total_hours/len(daily_data):.1f} hours")
164
165 print()
166
167 # Date range
168 if daily_data:
169 dates = sorted(daily_data.keys())
170 print(f"Project Duration: {dates[0]} to {dates[-1]}")
171 total_days = (dates[-1] - dates[0]).days + 1
172 print(f"Total Calendar Days: {total_days}")
173 print(
174 f"Programming Days: {len(daily_data)} ({len(daily_data)/total_days*100:.1f}% of days)"
175 )
176 print()
177
178 # Top programming days
179 if daily_data:
180 top_days = sorted(
181 daily_data.items(), key=lambda x: x[1]["duration_minutes"], reverse=True
182 )[:10]
183 print("TOP 10 PROGRAMMING DAYS:")
184 for i, (date, data) in enumerate(top_days, 1):
185 hours = data["duration_minutes"] / 60
186 print(
187 f" {i:2d}. {date}: {hours:5.1f} hours ({data['commits']:2d} commits, {data['sessions']} sessions)"
188 )
189 print()
190
191 # Longest sessions
192 if sessions:
193 longest_sessions = sorted(
194 sessions, key=lambda x: x["duration_minutes"], reverse=True
195 )[:10]
196 print("LONGEST PROGRAMMING SESSIONS:")
197 for i, session in enumerate(longest_sessions, 1):
198 hours = session["duration_minutes"] / 60
199 start_time = session["start"].strftime("%Y-%m-%d %H:%M")
200 end_time = session["end"].strftime("%H:%M")
201 print(

Callers 1

mainFunction · 0.70

Calls 2

keysMethod · 0.45
itemsMethod · 0.45

Tested by

no test coverage detected