Parse date in drop command

This commit is contained in:
Dan Jones 2024-02-25 15:25:34 -06:00
commit bc6c3d0f36

View file

@ -27,7 +27,7 @@ import (
"github.com/spf13/cobra"
)
var dateStr string
var d Date
var fields map[string]string
var j Json
@ -52,7 +52,7 @@ var dropCmd = &cobra.Command{
e.Fields = append(e.Fields, models.Meta{k, tools.ParseString(v)})
}
e.Title = title
e.Date = time.Now().Local() // @todo parse date
e.Date = d.t
l := models.Log{log, []models.Entry{e}}
err := files.Append(l)
if err != nil {
@ -70,7 +70,8 @@ var dropCmd = &cobra.Command{
func init() {
rootCmd.AddCommand(dropCmd)
dropCmd.Flags().StringVarP(&dateStr, "date", "d", time.Now().Local().Format(time.RFC3339), "Date for log entry")
(&d).Set("now")
dropCmd.Flags().VarP(&d, "date", "d", "Date for log entry")
dropCmd.Flags().StringToStringVarP(&fields, "fields", "f", nil, "Fields you add to entry")
dropCmd.Flags().VarP(&j, "json", "j", "Entire entry as json")
}
@ -90,3 +91,22 @@ func (j *Json) Set(in string) error {
func (j *Json) Type() string {
return "json"
}
type Date struct {
s string
t time.Time
}
func (d *Date) String() string {
return d.s
}
func (d *Date) Set(in string) (err error) {
d.s = in
d.t, err = tools.ParseDate(in)
return
}
func (d *Date) Type() string {
return "datetime"
}