diff --git a/cmd/server/svg-server.go b/cmd/server/svg-server.go index d246f75..3576ea5 100644 --- a/cmd/server/svg-server.go +++ b/cmd/server/svg-server.go @@ -1,6 +1,7 @@ package main import ( + "encoding/json" "net/http" "strconv" "time" @@ -29,6 +30,26 @@ func main() { svg := svg.GetWeekSVG(week) svg.WriteTo(w) }) + r.HandleFunc("/stats.json", func(w http.ResponseWriter, r *http.Request) { + year := time.Now().Year() + yst := r.URL.Query().Get("year") + author := r.URL.Query().Get("author") + y, err := strconv.Atoi(yst) + if err == nil { + year = y + } + repoPaths, err := commits.GetMRRepos() + if err != nil { + panic(err) + } + freq, err := repoPaths.FrequencyChan(year, []string{author}) + if err != nil { + panic(err) + } + b, _ := json.Marshal(freq) + w.Header().Add("Content-Type", "application/json") + w.Write(b) + }) r.HandleFunc("/yearly.svg", func(w http.ResponseWriter, r *http.Request) { year := time.Now().Year() yst := r.URL.Query().Get("year") diff --git a/commits/cache.go b/commits/cache.go index 5aac841..d36f03d 100644 --- a/commits/cache.go +++ b/commits/cache.go @@ -69,7 +69,7 @@ func CacheGraph(year int, authors, repoPaths []string, freq types.Freq) { } hashCache[year][a][r] = types.ExpFreq{YearFreq: freq, Created: time.Now()} go func() { - time.Sleep(time.Minute * 15) + time.Sleep(time.Hour * 1) mapTex.Lock() defer mapTex.Unlock() delete(hashCache[year][a], r)