mirror of
https://github.com/muety/wakapi.git
synced 2023-08-10 21:12:56 +03:00
chore: parallel summary conversion
This commit is contained in:
parent
570aeebe01
commit
8dca9f5cc0
@ -5,8 +5,6 @@
|
|||||||
![](https://img.shields.io/github/license/muety/wakapi?style=flat-square)
|
![](https://img.shields.io/github/license/muety/wakapi?style=flat-square)
|
||||||
[![Go Report Card](https://goreportcard.com/badge/github.com/muety/wakapi?style=flat-square)](https://goreportcard.com/report/github.com/muety/wakapi)
|
[![Go Report Card](https://goreportcard.com/badge/github.com/muety/wakapi?style=flat-square)](https://goreportcard.com/report/github.com/muety/wakapi)
|
||||||
|
|
||||||
[![Buy me a coffee](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://buymeacoff.ee/n1try)
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
**A minimalist, self-hosted WakaTime-compatible backend for coding statistics**
|
**A minimalist, self-hosted WakaTime-compatible backend for coding statistics**
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"github.com/muety/wakapi/models"
|
"github.com/muety/wakapi/models"
|
||||||
"github.com/muety/wakapi/utils"
|
"github.com/muety/wakapi/utils"
|
||||||
"math"
|
"math"
|
||||||
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -107,22 +108,46 @@ func newDataFrom(s *models.Summary) *wakatimeSummariesData {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
for i, e := range s.Projects {
|
var wg sync.WaitGroup
|
||||||
data.Projects[i] = convertEntry(e, s.TotalTimeBy(models.SummaryProject))
|
wg.Add(5)
|
||||||
}
|
|
||||||
for i, e := range s.Editors {
|
|
||||||
data.Editors[i] = convertEntry(e, s.TotalTimeBy(models.SummaryEditor))
|
|
||||||
}
|
|
||||||
for i, e := range s.Languages {
|
|
||||||
data.Languages[i] = convertEntry(e, s.TotalTimeBy(models.SummaryLanguage))
|
|
||||||
}
|
|
||||||
for i, e := range s.OperatingSystems {
|
|
||||||
data.OperatingSystems[i] = convertEntry(e, s.TotalTimeBy(models.SummaryOS))
|
|
||||||
}
|
|
||||||
for i, e := range s.Machines {
|
|
||||||
data.Machines[i] = convertEntry(e, s.TotalTimeBy(models.SummaryMachine))
|
|
||||||
}
|
|
||||||
|
|
||||||
|
go func(data *wakatimeSummariesData) {
|
||||||
|
defer wg.Done()
|
||||||
|
for i, e := range s.Projects {
|
||||||
|
data.Projects[i] = convertEntry(e, s.TotalTimeBy(models.SummaryProject))
|
||||||
|
}
|
||||||
|
}(data)
|
||||||
|
|
||||||
|
go func(data *wakatimeSummariesData) {
|
||||||
|
defer wg.Done()
|
||||||
|
for i, e := range s.Editors {
|
||||||
|
data.Editors[i] = convertEntry(e, s.TotalTimeBy(models.SummaryEditor))
|
||||||
|
}
|
||||||
|
}(data)
|
||||||
|
|
||||||
|
go func(data *wakatimeSummariesData) {
|
||||||
|
defer wg.Done()
|
||||||
|
for i, e := range s.Languages {
|
||||||
|
data.Languages[i] = convertEntry(e, s.TotalTimeBy(models.SummaryLanguage))
|
||||||
|
|
||||||
|
}
|
||||||
|
}(data)
|
||||||
|
|
||||||
|
go func(data *wakatimeSummariesData) {
|
||||||
|
defer wg.Done()
|
||||||
|
for i, e := range s.OperatingSystems {
|
||||||
|
data.OperatingSystems[i] = convertEntry(e, s.TotalTimeBy(models.SummaryOS))
|
||||||
|
}
|
||||||
|
}(data)
|
||||||
|
|
||||||
|
go func(data *wakatimeSummariesData) {
|
||||||
|
defer wg.Done()
|
||||||
|
for i, e := range s.Machines {
|
||||||
|
data.Machines[i] = convertEntry(e, s.TotalTimeBy(models.SummaryMachine))
|
||||||
|
}
|
||||||
|
}(data)
|
||||||
|
|
||||||
|
wg.Wait()
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ func NewCompatV1SummariesHandler(summaryService *services.SummaryService) *Compa
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
TODO: support parameters: branches, timeout, writes_only, timezone
|
TODO: support parameters: project, branches, timeout, writes_only, timezone
|
||||||
https://wakatime.com/developers#summaries
|
https://wakatime.com/developers#summaries
|
||||||
timezone can be specified via an offset suffix (e.g. +02:00) in date strings
|
timezone can be specified via an offset suffix (e.g. +02:00) in date strings
|
||||||
*/
|
*/
|
||||||
|
@ -1 +1 @@
|
|||||||
1.10.1
|
1.10.2
|
Loading…
Reference in New Issue
Block a user