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) } }