diff --git a/backend/external_medias/external_medias.go b/backend/external_medias/external_medias.go index 92950d0..f8c4e4a 100644 --- a/backend/external_medias/external_medias.go +++ b/backend/external_medias/external_medias.go @@ -130,7 +130,7 @@ func RefreshShows(env *web.Env) { // Iterate over the map of shows to refresh them for id := range showMap { - show := shows.New(id, env.Config.PublicDir, env.Config.ImgURLPrefix) + show := shows.New(id) // Refresh the shows err := show.Refresh(env, env.Config.Show.Detailers) if err != nil { @@ -196,7 +196,7 @@ func RefreshMovies(env *web.Env) { // Iterate over the map of movies to refresh them for id := range movieMap { - movie := movies.New(env, id, nil, nil, false) + movie := movies.New(id, nil, nil, false) // Refresh the movie err := movie.Refresh(env, env.Config.Movie.Detailers) if err != nil { diff --git a/backend/external_medias/handlers.go b/backend/external_medias/handlers.go index c4fc57f..0a72c6c 100644 --- a/backend/external_medias/handlers.go +++ b/backend/external_medias/handlers.go @@ -80,7 +80,7 @@ func GetMovies(env *web.Env, user *models.User, source string, category string) // Fill all the movies infos from the list of IDs for _, id := range media.IDs { pMovie, _ := pMovies.Has(id) - movie := movies.New(env, id, client, pMovie, moviesWishlist.IsMovieInWishlist(id)) + movie := movies.New(id, client, pMovie, moviesWishlist.IsMovieInWishlist(id)) // First check in the DB before := []polochon.Detailer{env.Backend.Detailer} // Then with the default detailers @@ -141,7 +141,7 @@ func GetShows(env *web.Env, user *models.User, source string, category string, f for _, id := range media.IDs { pShow, _ := pShows.Has(id) wShow, _ := wShows.IsShowInWishlist(id) - show := shows.NewWithClient(&polochon.Show{ImdbID: id}, client, pShow, wShow, env.Config.PublicDir, env.Config.ImgURLPrefix) + show := shows.NewWithClient(&polochon.Show{ImdbID: id}, client, pShow, wShow) // First check in the DB before := []polochon.Detailer{env.Backend.Detailer} diff --git a/backend/movies/handlers.go b/backend/movies/handlers.go index d2624fc..7fe76a2 100644 --- a/backend/movies/handlers.go +++ b/backend/movies/handlers.go @@ -76,7 +76,7 @@ func RefreshMovieHandler(env *web.Env, w http.ResponseWriter, r *http.Request) e } // Create a new movie - m := New(env, id, client, pMovie, isWishlisted) + m := New(id, client, pMovie, isWishlisted) // Refresh the movie's infos if err := m.Refresh(env, env.Config.Movie.Detailers); err != nil { @@ -141,7 +141,6 @@ func SearchMovie(env *web.Env, w http.ResponseWriter, r *http.Request) error { for _, m := range movies { pMovie, _ := pMovies.Has(m.ImdbID) movie := New( - env, m.ImdbID, client, pMovie, @@ -251,7 +250,6 @@ func GetWishlistHandler(env *web.Env, w http.ResponseWriter, r *http.Request) er for _, imdbID := range moviesWishlist.List() { pMovie, _ := pMovies.Has(imdbID) movie := New( - env, imdbID, client, pMovie, diff --git a/backend/movies/movies.go b/backend/movies/movies.go index 1b17aff..9a53ea6 100644 --- a/backend/movies/movies.go +++ b/backend/movies/movies.go @@ -19,11 +19,9 @@ import ( // Movie represents a movie type Movie struct { *polochon.Movie - client *papi.Client - pMovie *papi.Movie - publicDir string - imgURLPrefix string - Wishlisted bool `json:"wishlisted"` + client *papi.Client + pMovie *papi.Movie + Wishlisted bool `json:"wishlisted"` } // MarshalJSON implements the Marshal interface @@ -74,13 +72,11 @@ func (m *Movie) MarshalJSON() ([]byte, error) { } // New returns a new Movie with all the needed infos -func New(env *web.Env, imdbID string, client *papi.Client, pMovie *papi.Movie, isWishlisted bool) *Movie { +func New(imdbID string, client *papi.Client, pMovie *papi.Movie, isWishlisted bool) *Movie { return &Movie{ - client: client, - pMovie: pMovie, - publicDir: env.Config.PublicDir, - imgURLPrefix: env.Config.ImgURLPrefix, - Wishlisted: isWishlisted, + client: client, + pMovie: pMovie, + Wishlisted: isWishlisted, Movie: &polochon.Movie{ ImdbID: imdbID, }, @@ -241,7 +237,7 @@ func (m *Movie) imgURL() string { // imgFile returns the image location on disk func (m *Movie) imgFile() string { - return filepath.Join(m.publicDir, "img", m.imgURL()) + return filepath.Join(models.PublicDir, "img", m.imgURL()) } // getPolochonMovies returns an array of the user's polochon movies @@ -269,7 +265,6 @@ func getPolochonMovies(user *models.User, env *web.Env) ([]*Movie, error) { // Create Movies objects from the movies retrieved for _, pmovie := range pmovies.List() { movie := New( - env, pmovie.ImdbID, client, pmovie, diff --git a/backend/shows/handlers.go b/backend/shows/handlers.go index bb7f2ec..1d3eca5 100644 --- a/backend/shows/handlers.go +++ b/backend/shows/handlers.go @@ -43,7 +43,7 @@ func GetDetailsHandler(env *web.Env, w http.ResponseWriter, r *http.Request) err log.Println("Got error getting wishlisted show ", err) } - s := NewWithClient(&polochon.Show{ImdbID: id}, client, pShow, wShow, env.Config.PublicDir, env.Config.ImgURLPrefix) + s := NewWithClient(&polochon.Show{ImdbID: id}, client, pShow, wShow) // First try from the db first := []polochon.Detailer{env.Backend.Detailer} // Then try from the polochon detailers @@ -89,7 +89,7 @@ func RefreshShowHandler(env *web.Env, w http.ResponseWriter, r *http.Request) er log.Println("Got error getting wishlisted show ", err) } - s := NewWithClient(&polochon.Show{ImdbID: id}, client, pShow, wShow, env.Config.PublicDir, env.Config.ImgURLPrefix) + s := NewWithClient(&polochon.Show{ImdbID: id}, client, pShow, wShow) // Refresh the polochon detailers detailers := env.Config.Show.Detailers err = s.Refresh(env, detailers) @@ -163,7 +163,7 @@ func SearchShow(env *web.Env, w http.ResponseWriter, r *http.Request) error { for _, s := range shows { pShow, _ := pShows.Has(s.ImdbID) wShow, _ := wShows.IsShowInWishlist(s.ImdbID) - show := NewWithClient(s, client, pShow, wShow, env.Config.PublicDir, env.Config.ImgURLPrefix) + show := NewWithClient(s, client, pShow, wShow) // First try from the db first := []polochon.Detailer{env.Backend.Detailer} @@ -243,7 +243,7 @@ func GetWishlistHandler(env *web.Env, w http.ResponseWriter, r *http.Request) er for _, wishedShow := range wShows.List() { pShow, _ := pShows.Has(wishedShow.ImdbID) poloShow := &polochon.Show{ImdbID: wishedShow.ImdbID} - show := NewWithClient(poloShow, client, pShow, wishedShow, env.Config.PublicDir, env.Config.ImgURLPrefix) + show := NewWithClient(poloShow, client, pShow, wishedShow) // First check in the DB before := []polochon.Detailer{env.Backend.Detailer} @@ -309,11 +309,9 @@ func RefreshEpisodeHandler(env *web.Env, w http.ResponseWriter, r *http.Request) } s := &Show{ - Show: &polochon.Show{ImdbID: id}, - client: client, - pShow: pShow, - publicDir: env.Config.PublicDir, - imgURLPrefix: env.Config.ImgURLPrefix, + Show: &polochon.Show{ImdbID: id}, + client: client, + pShow: pShow, } e := NewEpisode(s, season, episode) diff --git a/backend/shows/shows.go b/backend/shows/shows.go index bd1d4b5..a2efca0 100644 --- a/backend/shows/shows.go +++ b/backend/shows/shows.go @@ -22,8 +22,6 @@ type Show struct { *polochon.Show TrackedSeason *int `json:"tracked_season"` TrackedEpisode *int `json:"tracked_episode"` - publicDir string - imgURLPrefix string } // MarshalJSON implements the Marshal interface @@ -55,24 +53,20 @@ func (s *Show) MarshalJSON() ([]byte, error) { } // New returns a new Show with a polochon ShowConfig -func New(imdbID string, publicDir, imgURLPrefix string) *Show { +func New(imdbID string) *Show { return &Show{ Show: &polochon.Show{ ImdbID: imdbID, }, - publicDir: publicDir, - imgURLPrefix: imgURLPrefix, } } // NewWithClient returns a new Show with a polochon ShowConfig -func NewWithClient(show *polochon.Show, client *papi.Client, pShow *papi.Show, wShow *models.WishedShow, publicDir, imgURLPrefix string) *Show { +func NewWithClient(show *polochon.Show, client *papi.Client, pShow *papi.Show, wShow *models.WishedShow) *Show { s := &Show{ - Show: show, - client: client, - pShow: pShow, - publicDir: publicDir, - imgURLPrefix: imgURLPrefix, + Show: show, + client: client, + pShow: pShow, } if wShow != nil { s.TrackedSeason = &wShow.Season @@ -155,7 +149,7 @@ func (s *Show) GetImageURL(imgType string) string { if _, err := os.Stat(s.imgFile(imgType)); os.IsNotExist(err) { return "" } - return s.imgURLPrefix + s.imgURL(imgType) + return models.ImgURLPrefix + s.imgURL(imgType) } // downloadImages will download the show images @@ -217,12 +211,12 @@ func (s *Show) imgURL(imgType string) string { // imgDirectory returns the directory containing all the show images func (s *Show) imgDirectory() string { - return filepath.Join(s.publicDir, "img", fmt.Sprintf("shows/%s", s.ImdbID)) + return filepath.Join(models.PublicDir, "img", fmt.Sprintf("shows/%s", s.ImdbID)) } // imgFile returns the image location on disk func (s *Show) imgFile(imgType string) string { - return filepath.Join(s.publicDir, "img", s.imgURL(imgType)) + return filepath.Join(models.PublicDir, "img", s.imgURL(imgType)) } // getPolochonShows returns all the Shows from the polochon of a user @@ -248,7 +242,7 @@ func getPolochonShows(env *web.Env, user *models.User) ([]*Show, error) { // Create Shows objects from the shows retrieved for _, pShow := range pshows.List() { wShow, _ := wShows.IsShowInWishlist(pShow.ImdbID) - show := NewWithClient(&polochon.Show{ImdbID: pShow.ImdbID}, client, pShow, wShow, env.Config.PublicDir, env.Config.ImgURLPrefix) + show := NewWithClient(&polochon.Show{ImdbID: pShow.ImdbID}, client, pShow, wShow) shows = append(shows, show) } return shows, nil