sort account names for consistent gui

main
Bel LaPointe 2023-10-25 14:29:14 -06:00
parent 0c601eae7c
commit e8addb1836
2 changed files with 8 additions and 2 deletions

View File

@ -7,5 +7,6 @@ go run . -http=:8080 \
-group-date ^....-.. \
-group-name '^[^:]*:[^:]*' \
-like-name '(AssetAccount|Retirement)' \
-bpi ./bpi.dat \
"$@" \
macro.d/*

View File

@ -78,12 +78,14 @@ func main() {
nameCurrencyDateValue := map[string]map[ledger.Currency]map[string]float64{}
dates := []string{}
names := []string{}
for date, balances := range register {
dates = append(dates, date)
if r.URL.Query().Get("bpi") != "" {
balances = balances.WithBPIs(bpis)
}
for name, balance := range balances {
names = append(names, name)
for currency, value := range balance {
if _, ok := nameCurrencyDateValue[name]; !ok {
nameCurrencyDateValue[name] = make(map[ledger.Currency]map[string]float64)
@ -96,6 +98,7 @@ func main() {
}
}
slices.Sort(dates)
slices.Sort(names)
chart := NewChart("line")
if v := r.URL.Query().Get("chart"); v != "" {
@ -108,7 +111,8 @@ func main() {
http.NotFound(w, r)
return
case "/bal":
for name, currencyDateValue := range nameCurrencyDateValue {
for _, name := range names {
currencyDateValue := nameCurrencyDateValue[name]
for currency, dateValue := range currencyDateValue {
series := make([]int, len(dates))
for i := range dates {
@ -127,7 +131,8 @@ func main() {
}
}
case "/reg":
for name, currencyDateValue := range nameCurrencyDateValue {
for _, name := range names {
currencyDateValue := nameCurrencyDateValue[name]
for currency, dateValue := range currencyDateValue {
series := make([]int, len(dates))
for i := range dates {