|
|
@@ -26,6 +26,9 @@ class DataCollector:
|
|
26
|
26
|
def getAuthorInfo(self, author):
|
|
27
|
27
|
return None
|
|
28
|
28
|
|
|
|
29
|
+ def getActivityByDayOfWeek(self):
|
|
|
30
|
+ return {}
|
|
|
31
|
+
|
|
29
|
32
|
def getActivityByHourOfDay(self):
|
|
30
|
33
|
return {}
|
|
31
|
34
|
|
|
|
@@ -87,6 +90,9 @@ class GitDataCollector(DataCollector):
|
|
87
|
90
|
self.activity_by_day_of_week[day] = 1
|
|
88
|
91
|
|
|
89
|
92
|
|
|
|
93
|
+ def getActivityByDayOfWeek(self):
|
|
|
94
|
+ return self.activity_by_day_of_week
|
|
|
95
|
+
|
|
90
|
96
|
def getActivityByHourOfDay(self):
|
|
91
|
97
|
return self.activity_by_hour_of_day
|
|
92
|
98
|
|
|
|
@@ -199,22 +205,35 @@ class HTMLReportCreator(ReportCreator):
|
|
199
|
205
|
for i in range(1, 25):
|
|
200
|
206
|
f.write('<th>%d</th>' % i)
|
|
201
|
207
|
f.write('</tr>\n<tr><th>Commits</th>')
|
|
202
|
|
- for i in range(1, 25):
|
|
|
208
|
+ for i in range(0, 24):
|
|
203
|
209
|
if i in hour_of_day:
|
|
204
|
210
|
f.write('<td>%d</td>' % hour_of_day[i])
|
|
205
|
211
|
else:
|
|
206
|
212
|
f.write('<td>0</td>')
|
|
207
|
213
|
f.write('</tr>\n<tr><th>%</th>')
|
|
208
|
214
|
totalcommits = data.getTotalCommits()
|
|
209
|
|
- for i in range(1, 25):
|
|
|
215
|
+ for i in range(0, 24):
|
|
210
|
216
|
if i in hour_of_day:
|
|
211
|
217
|
f.write('<td>%.2f</td>' % ((100.0 * hour_of_day[i]) / totalcommits))
|
|
212
|
218
|
else:
|
|
213
|
219
|
f.write('<td>0.00</td>')
|
|
214
|
220
|
f.write('</tr></table>')
|
|
215
|
221
|
|
|
216
|
|
- f.write('\n\n<h2>Day of Week</h2>')
|
|
217
|
|
- # TODO 7x(24+1)
|
|
|
222
|
+ ### Day of Week
|
|
|
223
|
+ # TODO show also by hour of weekday?
|
|
|
224
|
+ f.write('\n<h2>Day of Week</h2>\n\n')
|
|
|
225
|
+ day_of_week = data.getActivityByDayOfWeek()
|
|
|
226
|
+ f.write('<table>')
|
|
|
227
|
+ f.write('<tr><th>Day</th><th>Total (%)</th></tr>')
|
|
|
228
|
+ for d in range(0, 7):
|
|
|
229
|
+ f.write('<tr>')
|
|
|
230
|
+ f.write('<th>%d</th>' % (d + 1))
|
|
|
231
|
+ if d in day_of_week:
|
|
|
232
|
+ f.write('<td>%d (%.2f%%)</td>' % (day_of_week[d], (100.0 * day_of_week[d]) / totalcommits))
|
|
|
233
|
+ else:
|
|
|
234
|
+ f.write('<td>0</td>')
|
|
|
235
|
+ f.write('</tr>')
|
|
|
236
|
+ f.write('</table>')
|
|
218
|
237
|
|
|
219
|
238
|
f.close()
|
|
220
|
239
|
pass
|