package repo import ( "encoding/json" "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/log" wiki_service "code.gitea.io/gitea/services/wiki" ) func TimeingCountData() { //query wiki data log.Info("start to time count data") wikiMap := make(map[int64]int) repoList := models.QueryAllRepo() for _, repoRecord := range repoList { wikiPath := models.WikiPath(repoRecord.OwnerName, repoRecord.Name) wikiRepo, commit, err := FindWikiRepoCommitByWikiPath(wikiPath) if err != nil { log.Error("query error.") } else { entries, err := commit.ListEntries() if err != nil { if wikiRepo != nil { wikiRepo.Close() } } else { pages := make([]PageMeta, 0, len(entries)) for _, entry := range entries { if !entry.IsRegular() { continue } wikiName, err := wiki_service.FilenameToName(entry.Name()) if err != nil { if models.IsErrWikiInvalidFileName(err) { continue } if wikiRepo != nil { wikiRepo.Close() } } else if wikiName == "_Sidebar" || wikiName == "_Footer" { continue } jsonObj, err := json.Marshal(entry) if err != nil { log.Error("convert to json error.") } else { log.Info("json=" + string(jsonObj)) } pages = append(pages, PageMeta{ Name: wikiName, SubURL: wiki_service.NameToSubURL(wikiName), }) } } } } models.CountData(wikiMap) }