From 6e553f9181ecfce4e92f06c760ffb9235e20676d Mon Sep 17 00:00:00 2001 From: Drew Weymouth Date: Sun, 25 Dec 2022 17:15:05 -0800 Subject: [PATCH] fix regression in cover caching --- backend/imagemanager.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/backend/imagemanager.go b/backend/imagemanager.go index 6cae6e3..44e0724 100644 --- a/backend/imagemanager.go +++ b/backend/imagemanager.go @@ -6,6 +6,7 @@ import ( "image/jpeg" "log" "os" + "path" "path/filepath" "github.com/20after4/configdir" @@ -40,8 +41,8 @@ func (i *ImageManager) GetAlbumThumbnail(albumID string) (image.Image, error) { } // on disc cache - path := filepath.Join(i.coverCacheDir(), fmt.Sprintf("%s.jpg", albumID)) - if i.coverCacheDir() != "" { + path := filepath.Join(i.ensureCoverCacheDir(), fmt.Sprintf("%s.jpg", albumID)) + if i.ensureCoverCacheDir() != "" { if _, err := os.Stat(path); err == nil { // serve image from on-disc cache // TODO: image may have changed on server. @@ -61,7 +62,7 @@ func (i *ImageManager) GetAlbumThumbnail(albumID string) (image.Image, error) { if err != nil { return nil, err } - if i.coverCacheDir() != "" { + if i.ensureCoverCacheDir() != "" { if f, err := os.Create(path); err == nil { defer f.Close() if err := jpeg.Encode(f, img, nil /*options*/); err != nil { @@ -73,6 +74,8 @@ func (i *ImageManager) GetAlbumThumbnail(albumID string) (image.Image, error) { return img, nil } -func (i *ImageManager) coverCacheDir() string { - return configdir.LocalCache(i.baseCacheDir, i.s.ServerID.String(), "covers") +func (i *ImageManager) ensureCoverCacheDir() string { + path := path.Join(i.baseCacheDir, i.s.ServerID.String(), "covers") + configdir.MakePath(path) + return path }