diff --git a/src/internal/movies/handlers.go b/src/internal/movies/handlers.go index 8fc4dea..e7ff1e6 100644 --- a/src/internal/movies/handlers.go +++ b/src/internal/movies/handlers.go @@ -7,6 +7,8 @@ import ( "net/url" "github.com/odwrtw/papi" + polochon "github.com/odwrtw/polochon/lib" + "github.com/odwrtw/polochon/modules/pam" "github.com/odwrtw/trakttv" "gitlab.quimbo.fr/odwrtw/canape-sql/src/internal/auth" @@ -49,7 +51,12 @@ func getPolochonMovies(user *users.User) ([]*Movie, error) { return movies, err } for _, pmovie := range pmovies { - movies = append(movies, New(pmovie.ImdbID)) + movie := New(pmovie.ImdbID) + movie.PolochonURL, err = client.DownloadURL(&papi.Movie{ImdbID: movie.ImdbID}) + if err != nil { + return nil, err + } + movies = append(movies, movie) } return movies, nil } @@ -75,15 +82,25 @@ func FromPolochon(env *web.Env, w http.ResponseWriter, r *http.Request) error { return err } + var polochonConfig config.UserPolochon + err = user.GetConfig("polochon", &polochonConfig) + if err != nil { + return err + } + + detailer, err := pam.New(&pam.Params{ + Endpoint: polochonConfig.URL, + Token: polochonConfig.Token, + }) + for _, m := range movies { + m.Detailers = []polochon.Detailer{detailer} err := m.GetDetails(env, false) if err != nil { env.Log.Error(err) } } - env.Log.Info(movies) - web.SetData(r, "movies", movies) return env.Rends(w, r, "movies/library") } diff --git a/src/internal/movies/movies.go b/src/internal/movies/movies.go index 54eebd2..f1f60bd 100644 --- a/src/internal/movies/movies.go +++ b/src/internal/movies/movies.go @@ -50,6 +50,7 @@ var ( type Movie struct { sqly.BaseModel polochon.Movie + PolochonURL string } func New(imdbID string) *Movie {