diff --git a/go.mod b/go.mod index e636428..d6fb9ae 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module my-log-wynter go 1.26.0 require ( - codeberg.org/danjones000/my-log v0.1.1 + codeberg.org/danjones000/my-log v0.2.0 github.com/cyruzin/golang-tmdb v1.9.2 github.com/lrstanley/go-ytdlp v1.3.1 github.com/spf13/cobra v1.8.0 @@ -15,6 +15,7 @@ require ( github.com/caarlos0/env/v10 v10.0.0 // indirect github.com/cloudflare/circl v1.6.3 // indirect github.com/elliotchance/pie/v2 v2.7.0 // indirect + github.com/go-viper/mapstructure/v2 v2.5.0 // indirect github.com/goccy/go-json v0.10.5 // indirect github.com/google/uuid v1.6.0 // indirect github.com/hablullah/go-hijri v1.0.2 // indirect @@ -23,7 +24,6 @@ require ( github.com/jalaali/go-jalaali v0.0.0-20210801064154-80525e88d958 // indirect 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/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 3c88b6d..3ef7a89 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,5 @@ -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= +codeberg.org/danjones000/my-log v0.2.0 h1:XG5UWvudsbMjqNMcgT3QI9E4ozmhXc6uCOMIgEZc7NU= +codeberg.org/danjones000/my-log v0.2.0/go.mod h1:v01e9WojRoe9mWGoFuJIDphfAPERhf95L6JGbSUKTDI= 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= @@ -15,6 +15,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/elliotchance/pie/v2 v2.7.0 h1:FqoIKg4uj0G/CrLGuMS9ejnFKa92lxE1dEgBD3pShXg= github.com/elliotchance/pie/v2 v2.7.0/go.mod h1:18t0dgGFH006g4eVdDtWfgFZPQEgl10IoEO8YWEq3Og= +github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= +github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= @@ -33,8 +35,6 @@ github.com/magefile/mage v1.14.0 h1:6QDX3g6z1YvJ4olPhT1wksUcSa/V0a1B+pJb73fBjyo= github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/markusmobius/go-dateparser v1.2.3 h1:TvrsIvr5uk+3v6poDjaicnAFJ5IgtFHgLiuMY2Eb7Nw= github.com/markusmobius/go-dateparser v1.2.3/go.mod h1:cMwQRrBUQlK1UI5TIFHEcvpsMbkWrQLXuaPNMFzuYLk= -github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/nalgeon/be v0.3.0 h1:QsPANqEtcOD5qT2S3KAtIkDBBn8SXUf/Lb5Bi/z4UqM= github.com/nalgeon/be v0.3.0/go.mod h1:PMwMuBLopwKJkSHnr2qHyLcZYUTqNejN7A8RAqNWO3E= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= diff --git a/tmdb/drop.go b/tmdb/drop.go index b5f769c..f172760 100644 --- a/tmdb/drop.go +++ b/tmdb/drop.go @@ -59,13 +59,13 @@ func Drop(ctx context.Context, url string, now time.Time) (models.Log, error) { func GetLogEntryForEpisode(det TVDetails) (ent models.Entry, err error) { ent.Title = fmt.Sprintf("%s - %s %dx%02d", det.Episode.Name, det.Series.Name, det.Episode.SeasonNumber, det.Episode.EpisodeNumber) ent.Date = time.Now().Local() + ent.ID = fmt.Sprintf("tag:themoviedb.org,%s:Episode/%d/season/%d/episode/%d/%d", det.Episode.AirDate, det.Series.ID, det.Episode.SeasonNumber, det.Episode.EpisodeNumber, rand.Int()) fields := &models.Metas{} fields.AppendTo("tmdb", det.Series.ID) fields.AppendTo("show", det.Series.Name) fields.AppendTo("episode", det.Episode.Name) fields.AppendTo("air_date", det.Episode.AirDate) - fields.AppendTo("id", fmt.Sprintf("tag:themoviedb.org,%s:Episode/%d/season/%d/episode/%d/%d", det.Episode.AirDate, det.Series.ID, det.Episode.SeasonNumber, det.Episode.EpisodeNumber, rand.Int())) fields.AppendTo("url", fmt.Sprintf("https://themoviedb.org/tv/%d/season/%d/episode/%d", det.Series.ID, det.Episode.SeasonNumber, det.Episode.EpisodeNumber)) fields.AppendTo("episode_num", det.Episode.EpisodeNumber) fields.AppendTo("season_num", det.Episode.SeasonNumber) @@ -81,10 +81,10 @@ func GetLogEntryForEpisode(det TVDetails) (ent models.Entry, err error) { func GetLogEntryForMovie(det *sdk.MovieDetails) (ent models.Entry, err error) { ent.Title = fmt.Sprintf("%s (%s)", det.Title, det.ReleaseDate) ent.Date = time.Now().Local() + ent.ID = fmt.Sprintf("tag:themoviedb.org,%s:Movie/%d/%d", det.ReleaseDate, det.ID, rand.Int()) fields := &models.Metas{} fields.AppendTo("tmdb", det.ID) - fields.AppendTo("id", fmt.Sprintf("tag:themoviedb.org,%s:Movie/%d/%d", det.ReleaseDate, det.ID, rand.Int())) fields.AppendTo("url", fmt.Sprintf("https://themoviedb.org/movie/%d", det.ID)) // url https://www.themoviedb.org/movie/776503 fields.AppendTo("release_date", det.ReleaseDate) diff --git a/ytdlp/fetch.go b/ytdlp/fetch.go index 25b41e5..d2fdf3b 100644 --- a/ytdlp/fetch.go +++ b/ytdlp/fetch.go @@ -44,9 +44,9 @@ func GetLog(ctx context.Context, url string, now time.Time) (models.Log, error) } ent.Date = now // TODO Get published date + ent.ID = getID(now, info) metas := &ent.Fields - *metas = metas.Set("id", getID(now, info)) source := FirstNonZero(info.ExtractorKey, info.WebpageURLDomain, new("Web Video")) *metas = metas.Set("source", source)