package repo import ( "time" "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/git" "code.gitea.io/gitea/modules/log" ) func TimeingCountData() { //query wiki data log.Info("start to time count data") wikiMap := make(map[string]int) currentTimeNow := time.Now() log.Info("current time:" + currentTimeNow.Format("2006-01-02 15:04:05")) yesterday := currentTimeNow.AddDate(0, 0, -1) repoList, err := models.GetAllRepositories() if err != nil { log.Error("query repo error.") return } log.Info("start to query wiki data") for _, repoRecord := range repoList { wikiPath := models.WikiPath(repoRecord.OwnerName, repoRecord.Name) time, err := git.GetLatestCommitTime(wikiPath) if err == nil { log.Info("last commit time:" + time.Format("2006-01-02 15:04:05") + " wikiPath=" + wikiPath) if time.After(yesterday) { wikiRepo, _, err := FindWikiRepoCommitByWikiPath(wikiPath) if err != nil { log.Error("wiki not exist. wikiPath=" + wikiPath) } else { log.Info("wiki exist, wikiPath=" + wikiPath) list, err := wikiRepo.GetCommitByPathAndDays(wikiPath, 1) if err != nil { log.Info("err,err=v%", err) } else { for logEntry := list.Front(); logEntry != nil; logEntry = logEntry.Next() { commit := logEntry.Value.(*git.Commit) log.Info("commit msg=" + commit.CommitMessage + " time=" + commit.Committer.When.Format("2006-01-02 15:04:05") + " user=" + commit.Committer.Name) if _, ok := wikiMap[commit.Committer.Name]; !ok { wikiMap[commit.Committer.Name] = 1 } else { wikiMap[commit.Committer.Name] += 1 } } } } } } } //other user info data models.CountData(wikiMap) }