DRAW
cicd / ci (push) Failing after 23s Details

main
Bel LaPointe 2025-05-07 15:54:58 -06:00
parent 19f4b614d3
commit e581b7835c
2 changed files with 52 additions and 29 deletions

View File

@ -49,20 +49,42 @@ func (period *Period) String() string {
}
func (period *Period) Set(s string) error {
ss := strings.Split(s, "..")
if err := period.setStartStop(ss[0]); err != nil {
return err
}
if len(ss) != 2 {
} else if err := period.setStop(ss[1]); err != nil {
return err
}
return nil
}
func (period *Period) setStartStop(s string) error {
stop, err := period.setT(s, &period.Start)
period.Stop = stop
return err
}
func (period *Period) setStop(s string) error {
_, err := period.setT(s, &period.Stop)
return err
}
func (*Period) setT(s string, t *time.Time) (time.Time, error) {
if result, err := time.Parse("2006", s); err == nil {
period.Start = result
period.Stop = result.AddDate(1, 0, 0).Add(-1 * time.Minute)
return nil
*t = result
return result.AddDate(1, 0, 0).Add(-1 * time.Minute), nil
}
if result, err := time.Parse("2006-01", s); err == nil {
period.Start = result
period.Stop = result.AddDate(0, 1, 0).Add(-1 * time.Minute)
return nil
*t = result
return result.AddDate(0, 1, 0).Add(-1 * time.Minute), nil
}
if result, err := time.Parse("2006-01-02", s); err == nil {
period.Start = result
period.Stop = result.AddDate(0, 0, 1).Add(-1 * time.Minute)
return nil
*t = result
return result.AddDate(0, 0, 1).Add(-1 * time.Minute), nil
}
return fmt.Errorf("unimplemented format: %s", s)
return time.Time{}, fmt.Errorf("unimplemented format: %s", s)
}

View File

@ -23,7 +23,7 @@ func Main() {
fs := flag.NewFlagSet(os.Args[0], flag.ContinueOnError)
fs.Var(&config.Files, "f", "paths to files")
fs.Var(&config.Query.Period, "period", "period")
fs.Var(&config.Query.Period, "period", "period can be YYYY, YYYY-mm, YYYY-mm-dd, x..y")
fs.StringVar(&config.Query.Sort, "S", "", "sort ie date")
fs.BoolVar(&config.Query.NoRounding, "no-rounding", false, "no rounding")
fs.BoolVar(&config.Compact, "c", false, "reg entries oneline")
@ -139,7 +139,22 @@ func Main() {
Normalize(cpiNormalizer, "9")
FPrintBalances(w, "", balances, nil, config.Query.USDOnly, config.Query.Normalize, time.Now().Format("2006-01-02"), false, maxAccW)
case "gra":
deltas = deltas.Group(ledger.GroupDate("^[0-9]{4}-[0-9]{2}"))
dateGrouping := "^[0-9]{4}-[0-9]{2}"
if period := config.Query.Period; !period.Empty() {
day := time.Hour * 24
year := day * 365
r := period.Stop.Sub(period.Start)
if r > 10*year {
dateGrouping = "^[0-9]{4}"
} else if r > 5*year {
} else if r > year {
dateGrouping = "^[0-9]{4}-[0-9]{2}-[0-9]"
} else {
dateGrouping = "^[0-9]{4}-[0-9]{2}-[0-9]{2}"
}
}
deltas = deltas.Group(ledger.GroupDate(dateGrouping))
transactions := deltas.Transactions()
cumulative := make(ledger.Balances)
data := map[string][]float64{}
@ -185,23 +200,9 @@ func Main() {
for _, k := range labels {
points = append(points, data[k])
}
pointsMax := func() float64 {
var max float64
for _, vs := range points {
for _, v := range vs {
if max < v {
max = v
}
}
}
return max
}
for pointsMax() > 100 {
for i := range points {
for j := range points[i] {
points[i][j] /= 10.0
}
for i := range points {
for j := range points[i] {
points[i][j] /= 1000.0
}
}