✨ Add date/time flag to command and update functions
This commit is contained in:
parent
b5c6c84a5d
commit
21d27f8068
5 changed files with 13 additions and 10 deletions
|
|
@ -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")
|
||||
}
|
||||
|
|
|
|||
4
go.mod
4
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
|
||||
|
|
|
|||
4
go.sum
4
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=
|
||||
|
|
|
|||
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue