47 lines
1.8 KiB
Go
47 lines
1.8 KiB
Go
package tmdb
|
|
|
|
import (
|
|
"encoding/json"
|
|
"strconv"
|
|
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
type Movie struct {
|
|
Adult bool `json:"adult"`
|
|
Backdrop string `json:"backdrop_path"`
|
|
Collection string `json:"belongs_to_collection"`
|
|
Budget int `json:"budget"`
|
|
Genres []Genre `json:"genres"`
|
|
Homepage string `json:"homepage"`
|
|
ID int32 `json:"id"`
|
|
IMDbID string `json:"imdb_id"`
|
|
OriginalLanguage string `json:"original_language"`
|
|
OriginalTitle string `json:"original_title"`
|
|
Overview string `json:"overview"`
|
|
Popularity float32 `json:"popularity"`
|
|
Poster string `json:"poster_path"`
|
|
ProductionCompanies []ProductionCompany `json:"production_companies"`
|
|
ProductionCountries []ProductionCountry `json:"production_countries"`
|
|
ReleaseDate string `json:"release_date"`
|
|
Revenue int `json:"revenue"`
|
|
Runtime int `json:"runtime"`
|
|
SpokenLanguages []SpokenLanguage `json:"spoken_languages"`
|
|
Status string `json:"status"`
|
|
Tagline string `json:"tagline"`
|
|
Title string `json:"title"`
|
|
Video bool `json:"video"`
|
|
}
|
|
|
|
func (api *API) GetMovie(movieid int64) (*Movie, error) {
|
|
path := []string{"movie", strconv.FormatInt(movieid, 10)}
|
|
url := buildURL(path, nil)
|
|
data, err := api.get(url)
|
|
if err != nil {
|
|
return nil, errors.Wrap(err, "api.get")
|
|
}
|
|
movie := Movie{}
|
|
json.Unmarshal(data, &movie)
|
|
return &movie, nil
|
|
}
|