DRAW
Some checks failed
cicd / ci (push) Failing after 23s

This commit is contained in:
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)
}