main
Bel LaPointe 2023-10-25 09:43:27 -06:00
parent 49a77c5424
commit f436a6d046
2 changed files with 31 additions and 20 deletions

View File

@ -1,4 +1,11 @@
#! /bin/bash #! /bin/bash
cd "$(dirname "$(realpath "$BASH_SOURCE")")" cd "$(dirname "$(realpath "$BASH_SOURCE")")"
go run . -http=:8080 -foo reg -like-after 1023-08 -group-date ^....-.. -group-name '^[^:]*:[^:]*' -like-name '(AssetAccount|Stock|Retirement)' macro.d/* go run . -http=:8080 \
-foo reg \
-like-after 1023-08 \
-group-date ^....-.. \
-group-name '^[^:]*:[^:]*' \
-like-name '(AssetAccount|Retirement)' \
"$@" \
macro.d/*

View File

@ -7,6 +7,7 @@ import (
"log" "log"
"net/http" "net/http"
"os" "os"
"path"
"slices" "slices"
"sort" "sort"
"strings" "strings"
@ -43,21 +44,14 @@ func main() {
deltas = deltas.Group(ledger.GroupName(*groupName), ledger.GroupDate(*groupDate)) deltas = deltas.Group(ledger.GroupName(*groupName), ledger.GroupDate(*groupDate))
like := ledger.Likes{ledger.LikeName(*likeName)} like := ledger.Likes{ledger.LikeName(*likeName)}
if *likeLedger {
like = append(like, ledger.LikeBefore(*likeBefore))
like = append(like, ledger.LikeAfter(*likeAfter))
deltas = deltas.Like(like...)
} else {
deltas = deltas.Like(like...)
like = append(like, ledger.LikeBefore(*likeBefore))
like = append(like, ledger.LikeAfter(*likeAfter))
}
if *httpOutput != "" { if *httpOutput != "" {
deltas = deltas.Like(like...) like = append(like, ledger.LikeBefore(*likeBefore))
switch *foo { like = append(like, ledger.LikeAfter(*likeAfter))
case "reg":
foo := func(w http.ResponseWriter, r *http.Request) { foo := func(w http.ResponseWriter, r *http.Request) {
switch path.Dir(r.URL.Path) {
case "/bal":
register := deltas.Like(like...).Register() register := deltas.Like(like...).Register()
nameCurrencyDateValue := map[string]map[ledger.Currency]map[string]float64{} nameCurrencyDateValue := map[string]map[ledger.Currency]map[string]float64{}
dates := []string{} dates := []string{}
@ -92,15 +86,25 @@ func main() {
if err := line.Render(w); err != nil { if err := line.Render(w); err != nil {
panic(err) panic(err)
} }
case "/reg":
} }
log.Println("listening on", *httpOutput) }
if err := http.ListenAndServe(*httpOutput, http.HandlerFunc(foo)); err != nil {
panic(err) log.Println("listening on", *httpOutput)
} if err := http.ListenAndServe(*httpOutput, http.HandlerFunc(foo)); err != nil {
default: panic(err)
panic(fmt.Errorf("not impl %q", *foo))
} }
} else { } else {
if *likeLedger {
like = append(like, ledger.LikeBefore(*likeBefore))
like = append(like, ledger.LikeAfter(*likeAfter))
deltas = deltas.Like(like...)
} else {
deltas = deltas.Like(like...)
like = append(like, ledger.LikeBefore(*likeBefore))
like = append(like, ledger.LikeAfter(*likeAfter))
}
jsonResult := []any{} jsonResult := []any{}
switch *foo { switch *foo {