GoRacerr/release.go

65 lines
1.8 KiB
Go
Raw Normal View History

2024-08-31 15:10:25 +07:00
package main
import (
"fmt"
"log"
"strconv"
tmdb "github.com/cyruzin/golang-tmdb"
)
type Release struct {
TorrentName string `json:"torrent_name"`
Title string `json:"title"`
OriginalTitle string `json:"original_title"`
TMDbID int64 `json:"tmdb"`
Overview string `json:"synopsis"`
ReleaseDate string `json:"release_date"`
OriginalLanguage string `json:"original_language"`
Year string `json:"year"`
Cfg Config
}
func NewRelease(torrentname string, title string, year string, cfg Config) *Release {
return &Release{
TorrentName: torrentname,
Title: title,
Year: year,
Cfg: cfg,
}
}
func (r *Release) ProcessRelease() {
r.SearchTMDB()
}
func (r *Release) SearchTMDB() {
tmdbClient, err := tmdb.Init(r.Cfg.TMDBApiKey)
if err != nil {
fmt.Println(err)
}
m := make(map[string]string)
m["year"] = r.Year
result, err := tmdbClient.GetSearchMovies(r.Title, m)
if err != nil {
log.Println("Failed to find the movie on TMDB with error: ", err)
}
if len(result.SearchMoviesResults.Results) > 0 {
r.OriginalLanguage = result.SearchMoviesResults.Results[0].OriginalLanguage
r.TMDbID = result.SearchMoviesResults.Results[0].ID
r.Overview = result.SearchMoviesResults.Results[0].Overview
r.OriginalTitle = result.SearchMoviesResults.Results[0].OriginalTitle
r.ReleaseDate = result.SearchMoviesResults.Results[0].ReleaseDate
log.Printf("Found TMDB Information for [%s] with Title [%s] [ID: %v] [Year: %s] [Original Title: %s] [Original Language: %s] [Release Date: %s]",
r.TorrentName, r.Title, strconv.FormatInt(r.TMDbID, 10), r.Year, r.OriginalTitle, r.OriginalLanguage, r.ReleaseDate)
} else {
log.Printf("Could not find TMDB information for [%s]", r.TorrentName)
}
}