Stop resizing the show fanart and banner

This commit is contained in:
Grégoire Delattre 2019-05-27 17:21:40 +02:00
parent b23e311238
commit f3eeaaca0f
3 changed files with 14 additions and 20 deletions

View File

@ -146,7 +146,7 @@ func (m *Movie) Refresh(env *web.Env, detailers []polochon.Detailer) error {
} }
// Download poster // Download poster
err = web.Download(m.Thumb, m.imgFile()) err = web.Download(m.Thumb, m.imgFile(), true)
if err != nil { if err != nil {
log.Errorf("got error trying to download the poster %q", err) log.Errorf("got error trying to download the poster %q", err)
} }

View File

@ -7,12 +7,12 @@ import (
"path/filepath" "path/filepath"
"strings" "strings"
"github.com/odwrtw/papi"
"github.com/odwrtw/polochon/lib"
"github.com/sirupsen/logrus"
"git.quimbo.fr/odwrtw/canape/backend/backend" "git.quimbo.fr/odwrtw/canape/backend/backend"
"git.quimbo.fr/odwrtw/canape/backend/users" "git.quimbo.fr/odwrtw/canape/backend/users"
"git.quimbo.fr/odwrtw/canape/backend/web" "git.quimbo.fr/odwrtw/canape/backend/web"
"github.com/odwrtw/papi"
polochon "github.com/odwrtw/polochon/lib"
"github.com/sirupsen/logrus"
) )
// Show represents a show // Show represents a show
@ -163,15 +163,15 @@ func (s *Show) GetImageURL(imgType string) string {
// downloadImages will download the show images // downloadImages will download the show images
func (s *Show) downloadImages(env *web.Env) { func (s *Show) downloadImages(env *web.Env) {
// Download the banner // Download the banner
err := web.Download(s.Show.Banner, s.imgFile("banner")) err := web.Download(s.Show.Banner, s.imgFile("banner"), false)
if err != nil { if err != nil {
env.Log.Errorf("failed to dowload banner: %s", err) env.Log.Errorf("failed to dowload banner: %s", err)
} }
err = web.Download(s.Show.Fanart, s.imgFile("fanart")) err = web.Download(s.Show.Fanart, s.imgFile("fanart"), false)
if err != nil { if err != nil {
env.Log.Errorf("failed to dowload fanart: %s", err) env.Log.Errorf("failed to dowload fanart: %s", err)
} }
err = web.Download(s.Show.Poster, s.imgFile("poster")) err = web.Download(s.Show.Poster, s.imgFile("poster"), true)
if err != nil { if err != nil {
env.Log.Errorf("failed to dowload poster: %s", err) env.Log.Errorf("failed to dowload poster: %s", err)
} }

View File

@ -3,7 +3,6 @@ package web
import ( import (
"image" "image"
"image/jpeg" "image/jpeg"
"io"
"net/http" "net/http"
"os" "os"
"path" "path"
@ -13,7 +12,7 @@ import (
) )
// Download used for downloading file // Download used for downloading file
var Download = func(srcURL, dest string) error { var Download = func(srcURL, dest string, scale bool) error {
if err := createDirectory(dest); err != nil { if err := createDirectory(dest); err != nil {
return err return err
} }
@ -27,11 +26,15 @@ var Download = func(srcURL, dest string) error {
} }
defer resp.Body.Close() defer resp.Body.Close()
img, err := resizeImage(resp.Body) image, _, err := image.Decode(resp.Body)
if err != nil { if err != nil {
return err return err
} }
if scale {
image = resize.Resize(300, 0, image, resize.Lanczos3)
}
// Create the file // Create the file
file, err := os.Create(dest) file, err := os.Create(dest)
if err != nil { if err != nil {
@ -39,19 +42,10 @@ var Download = func(srcURL, dest string) error {
} }
defer file.Close() defer file.Close()
return jpeg.Encode(file, img, nil) return jpeg.Encode(file, image, nil)
} }
// createDirectory creates the destination directory // createDirectory creates the destination directory
func createDirectory(dest string) error { func createDirectory(dest string) error {
return os.MkdirAll(path.Dir(dest), os.ModePerm) return os.MkdirAll(path.Dir(dest), os.ModePerm)
} }
func resizeImage(img io.Reader) (image.Image, error) {
image, _, err := image.Decode(img)
if err != nil {
return nil, err
}
return resize.Resize(300, 0, image, resize.Lanczos3), nil
}