Selaa lähdekoodia

Show 'active days' for the whole project, too.

Heikki Hokkanen 16 vuotta sitten
vanhempi
commit
50997a26be
1 muutettua tiedostoa jossa 11 lisäystä ja 1 poistoa
  1. 11
    1
      gitstats

+ 11
- 1
gitstats Näytä tiedosto

@@ -169,6 +169,8 @@ class GitDataCollector(DataCollector):
169 169
 		self.commits_by_year = {} # year -> commits
170 170
 		self.first_commit_stamp = 0
171 171
 		self.last_commit_stamp = 0
172
+		self.last_active_day = None
173
+		self.active_days = 0
172 174
 
173 175
 		# tags
174 176
 		self.tags = {}
@@ -313,6 +315,11 @@ class GitDataCollector(DataCollector):
313 315
 				self.authors[author]['last_active_day'] = yymmdd
314 316
 				self.authors[author]['active_days'] += 1
315 317
 
318
+			# project: active days
319
+			if yymmdd != self.last_active_day:
320
+				self.last_active_day = yymmdd
321
+				self.active_days += 1
322
+
316 323
 		# TODO Optimize this, it's the worst bottleneck
317 324
 		# outputs "<stamp> <files>" for each revision
318 325
 		self.files_by_stamp = {} # stamp -> files
@@ -414,6 +421,9 @@ class GitDataCollector(DataCollector):
414 421
 			a['date_last'] = date_last.strftime('%Y-%m-%d')
415 422
 			a['timedelta'] = delta
416 423
 	
424
+	def getActiveDays(self):
425
+		return self.active_days
426
+
417 427
 	def getActivityByDayOfWeek(self):
418 428
 		return self.activity_by_day_of_week
419 429
 
@@ -515,7 +525,7 @@ class HTMLReportCreator(ReportCreator):
515 525
 		f.write('<dt>Project name</dt><dd>%s</dd>' % (data.projectname))
516 526
 		f.write('<dt>Generated</dt><dd>%s (in %d seconds)</dd>' % (datetime.datetime.now().strftime(format), time.time() - data.getStampCreated()))
517 527
 		f.write('<dt>Generator</dt><dd><a href="http://gitstats.sourceforge.net/">GitStats</a> (version %s)</dd>' % getversion())
518
-		f.write('<dt>Report Period</dt><dd>%s to %s (%d days)</dd>' % (data.getFirstCommitDate().strftime(format), data.getLastCommitDate().strftime(format), data.getCommitDeltaDays()))
528
+		f.write('<dt>Report Period</dt><dd>%s to %s (%d days, %d active days)</dd>' % (data.getFirstCommitDate().strftime(format), data.getLastCommitDate().strftime(format), data.getCommitDeltaDays(), data.getActiveDays()))
519 529
 		f.write('<dt>Total Files</dt><dd>%s</dd>' % data.getTotalFiles())
520 530
 		f.write('<dt>Total Lines of Code</dt><dd>%s</dd>' % data.getTotalLOC())
521 531
 		f.write('<dt>Total Commits</dt><dd>%s</dd>' % data.getTotalCommits())