From 21d27f8068d305fa04560591efea2c0c2c0e7760 Mon Sep 17 00:00:00 2001 From: Dan Jones Date: Sun, 1 Mar 2026 08:52:59 -0600 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add=20date/time=20flag=20to=20=20co?= =?UTF-8?q?mmand=20and=20update=20=20functions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cli/ytdrop.go | 5 ++++- go.mod | 4 ++-- go.sum | 4 ++-- ytdlp/drop.go | 6 +++--- ytdlp/fetch.go | 4 ++-- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/cli/ytdrop.go b/cli/ytdrop.go index 552bb47..47e75d8 100644 --- a/cli/ytdrop.go +++ b/cli/ytdrop.go @@ -27,6 +27,7 @@ import ( ) var outJson bool +var d mycli.Date // YtDropCmd represents the drop command var YtDropCmd = &cobra.Command{ @@ -41,7 +42,7 @@ var YtDropCmd = &cobra.Command{ } url := args[0] - log, err := ytdlp.Drop(cmd.Context(), url) + log, err := ytdlp.Drop(cmd.Context(), url, d.Time()) if err != nil { return err } @@ -64,6 +65,8 @@ var YtDropCmd = &cobra.Command{ } func init() { + (&d).Set("now") mycli.RootCmd.AddCommand(YtDropCmd) + YtDropCmd.Flags().VarP(&d, "date", "d", "Date for log entry") YtDropCmd.Flags().BoolVarP(&outJson, "output_json", "o", false, "Output result as JSON") } diff --git a/go.mod b/go.mod index 97f18d9..ba407e2 100644 --- a/go.mod +++ b/go.mod @@ -3,8 +3,9 @@ module my-log-wynter go 1.26.0 require ( - codeberg.org/danjones000/my-log v0.1.0 + codeberg.org/danjones000/my-log v0.1.1 github.com/lrstanley/go-ytdlp v1.3.1 + github.com/spf13/cobra v1.8.0 ) require ( @@ -21,7 +22,6 @@ require ( github.com/magefile/mage v1.14.0 // indirect github.com/markusmobius/go-dateparser v1.2.3 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect - github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/tetratelabs/wazero v1.2.1 // indirect github.com/ulikunitz/xz v0.5.15 // indirect diff --git a/go.sum b/go.sum index 977fdd2..a17dac2 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -codeberg.org/danjones000/my-log v0.1.0 h1:HJYCZ8rYpOtVpU1927M1H1FjbB/6acwrV8eJ4TUDHac= -codeberg.org/danjones000/my-log v0.1.0/go.mod h1:XxiJfEyCKDeHzCNUeULL02zDXwsU2WHXfoBPNboYHYU= +codeberg.org/danjones000/my-log v0.1.1 h1:+hafzvJI/IK0SnNjeX+pnrlarDpT2+pJ5tVY0yphSUo= +codeberg.org/danjones000/my-log v0.1.1/go.mod h1:XxiJfEyCKDeHzCNUeULL02zDXwsU2WHXfoBPNboYHYU= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/ProtonMail/go-crypto v1.3.0 h1:ILq8+Sf5If5DCpHQp4PbZdS1J7HDFRXz/+xKBiRGFrw= diff --git a/ytdlp/drop.go b/ytdlp/drop.go index 173cdab..b472b25 100644 --- a/ytdlp/drop.go +++ b/ytdlp/drop.go @@ -2,21 +2,21 @@ package ytdlp import ( "context" + "time" "codeberg.org/danjones000/my-log/files" "codeberg.org/danjones000/my-log/models" - ytd "github.com/lrstanley/go-ytdlp" ) // Drop adds the URL specified by the url to the watched log. -func Drop(ctx context.Context, url string) (models.Log, error) { +func Drop(ctx context.Context, url string, now time.Time) (models.Log, error) { select { case <-ctx.Done(): return models.Log{}, context.Cause(ctx) default: } - log, err := GetLog(ctx, url) + log, err := GetLog(ctx, url, now) if err != nil { return log, err } diff --git a/ytdlp/fetch.go b/ytdlp/fetch.go index 2fbab47..25b41e5 100644 --- a/ytdlp/fetch.go +++ b/ytdlp/fetch.go @@ -30,7 +30,7 @@ func Fetch(ctx context.Context, url string) (*ytd.ExtractedInfo, error) { return infos[0], nil } -func GetLog(ctx context.Context, url string) (models.Log, error) { +func GetLog(ctx context.Context, url string, now time.Time) (models.Log, error) { select { case <-ctx.Done(): return models.Log{}, context.Cause(ctx) @@ -42,8 +42,8 @@ func GetLog(ctx context.Context, url string) (models.Log, error) { if err != nil { return models.Log{}, err } - now := time.Now() ent.Date = now + // TODO Get published date metas := &ent.Fields *metas = metas.Set("id", getID(now, info))