Browse Source

Fixed project 'active days' counting.

Commits in projects with lots of activity and authors don't happen
chronologically (patches are accepted later etc), so the counting was messed up
for them (git.git for example).
Heikki Hokkanen 16 years ago
parent
commit
b49bc1b9ad
1 changed files with 3 additions and 3 deletions
  1. 3
    3
      gitstats

+ 3
- 3
gitstats View File

172
 		self.first_commit_stamp = 0
172
 		self.first_commit_stamp = 0
173
 		self.last_commit_stamp = 0
173
 		self.last_commit_stamp = 0
174
 		self.last_active_day = None
174
 		self.last_active_day = None
175
-		self.active_days = 0
175
+		self.active_days = set()
176
 
176
 
177
 		# timezone
177
 		# timezone
178
 		self.commits_by_timezone = {} # timezone -> commits
178
 		self.commits_by_timezone = {} # timezone -> commits
303
 			# project: active days
303
 			# project: active days
304
 			if yymmdd != self.last_active_day:
304
 			if yymmdd != self.last_active_day:
305
 				self.last_active_day = yymmdd
305
 				self.last_active_day = yymmdd
306
-				self.active_days += 1
306
+				self.active_days.add(yymmdd)
307
 
307
 
308
 			# timezone
308
 			# timezone
309
 			self.commits_by_timezone[timezone] = self.commits_by_timezone.get(timezone, 0) + 1
309
 			self.commits_by_timezone[timezone] = self.commits_by_timezone.get(timezone, 0) + 1
513
 		f.write('<dt>Project name</dt><dd>%s</dd>' % (data.projectname))
513
 		f.write('<dt>Project name</dt><dd>%s</dd>' % (data.projectname))
514
 		f.write('<dt>Generated</dt><dd>%s (in %d seconds)</dd>' % (datetime.datetime.now().strftime(format), time.time() - data.getStampCreated()))
514
 		f.write('<dt>Generated</dt><dd>%s (in %d seconds)</dd>' % (datetime.datetime.now().strftime(format), time.time() - data.getStampCreated()))
515
 		f.write('<dt>Generator</dt><dd><a href="http://gitstats.sourceforge.net/">GitStats</a> (version %s)</dd>' % getversion())
515
 		f.write('<dt>Generator</dt><dd><a href="http://gitstats.sourceforge.net/">GitStats</a> (version %s)</dd>' % getversion())
516
-		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()))
516
+		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(), len(data.getActiveDays())))
517
 		f.write('<dt>Total Files</dt><dd>%s</dd>' % data.getTotalFiles())
517
 		f.write('<dt>Total Files</dt><dd>%s</dd>' % data.getTotalFiles())
518
 		f.write('<dt>Total Lines of Code</dt><dd>%s</dd>' % data.getTotalLOC())
518
 		f.write('<dt>Total Lines of Code</dt><dd>%s</dd>' % data.getTotalLOC())
519
 		f.write('<dt>Total Commits</dt><dd>%s</dd>' % data.getTotalCommits())
519
 		f.write('<dt>Total Commits</dt><dd>%s</dd>' % data.getTotalCommits())