62 lines
1.3 KiB
Go
62 lines
1.3 KiB
Go
package ytsclient
|
|
|
|
import (
|
|
r "github.com/levigross/grequests"
|
|
"strconv"
|
|
)
|
|
|
|
type ListParams struct {
|
|
Limit int
|
|
Page int
|
|
Quality Quality
|
|
MinimumRating int
|
|
QueryTerm string
|
|
Genre Genre
|
|
SortBy SortBy
|
|
OrderBy Order
|
|
WithRottenTomatoesRating bool
|
|
}
|
|
|
|
func (l *ListParams) format() *r.RequestOptions {
|
|
p := map[string]string{}
|
|
if l.Limit != 0 {
|
|
p["limit"] = strconv.Itoa(l.Limit)
|
|
}
|
|
if l.Page != 0 {
|
|
p["page"] = strconv.Itoa(l.Page)
|
|
}
|
|
if l.Quality != "" {
|
|
p["quality"] = string(l.Quality)
|
|
}
|
|
if l.MinimumRating != 0 {
|
|
p["minimum_rating"] = strconv.Itoa(l.MinimumRating)
|
|
}
|
|
if l.QueryTerm != "" {
|
|
p["query_term"] = l.QueryTerm
|
|
}
|
|
if l.Genre != "" {
|
|
p["genre"] = string(l.Genre)
|
|
}
|
|
if l.SortBy != "" {
|
|
p["sort_by"] = string(l.SortBy)
|
|
}
|
|
if l.Genre != "" {
|
|
p["order_by"] = string(l.Genre)
|
|
}
|
|
p["with_rt_ratings"] = strconv.FormatBool(l.WithRottenTomatoesRating)
|
|
return &r.RequestOptions{Params: p}
|
|
}
|
|
|
|
type MovieParams struct {
|
|
WithImages bool
|
|
WithCast bool
|
|
}
|
|
|
|
func (m *MovieParams) format() *r.RequestOptions {
|
|
p := map[string]string{
|
|
"with_images": strconv.FormatBool(m.WithImages),
|
|
"with_cast": strconv.FormatBool(m.WithCast),
|
|
}
|
|
return &r.RequestOptions{Params: p}
|
|
}
|