Rename 'Cover' to the more generic term 'Artwork'

This commit is contained in:
Deluan
2020-07-31 09:31:19 -04:00
parent cefdeee495
commit 2b59d4b87a
9 changed files with 81 additions and 81 deletions
+19 -19
View File
@@ -24,39 +24,39 @@ import (
"github.com/disintegration/imaging"
)
type Cover interface {
type Artwork interface {
Get(ctx context.Context, id string, size int, out io.Writer) error
}
type CoverCache FileCache
type ArtworkCache FileCache
func NewCover(ds model.DataStore, cache CoverCache) Cover {
return &cover{ds: ds, cache: cache}
func NewArtwork(ds model.DataStore, cache ArtworkCache) Artwork {
return &artwork{ds: ds, cache: cache}
}
type cover struct {
type artwork struct {
ds model.DataStore
cache FileCache
}
type coverInfo struct {
c *cover
type imageInfo struct {
c *artwork
path string
size int
lastUpdate time.Time
}
func (ci *coverInfo) String() string {
func (ci *imageInfo) String() string {
return fmt.Sprintf("%s.%d.%s.%d", ci.path, ci.size, ci.lastUpdate.Format(time.RFC3339Nano), conf.Server.CoverJpegQuality)
}
func (c *cover) Get(ctx context.Context, id string, size int, out io.Writer) error {
path, lastUpdate, err := c.getCoverPath(ctx, id)
func (c *artwork) Get(ctx context.Context, id string, size int, out io.Writer) error {
path, lastUpdate, err := c.getImagePath(ctx, id)
if err != nil && err != model.ErrNotFound {
return err
}
info := &coverInfo{
info := &imageInfo{
c: c,
path: path,
size: size,
@@ -73,7 +73,7 @@ func (c *cover) Get(ctx context.Context, id string, size int, out io.Writer) err
return err
}
func (c *cover) getCoverPath(ctx context.Context, id string) (path string, lastUpdated time.Time, err error) {
func (c *artwork) getImagePath(ctx context.Context, id string) (path string, lastUpdated time.Time, err error) {
// If id is an album cover ID
if strings.HasPrefix(id, "al-") {
log.Trace(ctx, "Looking for album art", "id", id)
@@ -102,10 +102,10 @@ func (c *cover) getCoverPath(ctx context.Context, id string) (path string, lastU
// if the mediafile does not have a coverArt, fallback to the album cover
log.Trace(ctx, "Media file does not contain art. Falling back to album art", "id", id, "albumId", "al-"+mf.AlbumID)
return c.getCoverPath(ctx, "al-"+mf.AlbumID)
return c.getImagePath(ctx, "al-"+mf.AlbumID)
}
func (c *cover) getCover(ctx context.Context, path string, size int) (reader io.Reader, err error) {
func (c *artwork) getArtwork(ctx context.Context, path string, size int) (reader io.Reader, err error) {
defer func() {
if err != nil {
log.Warn(ctx, "Error extracting image", "path", path, "size", size, err)
@@ -114,7 +114,7 @@ func (c *cover) getCover(ctx context.Context, path string, size int) (reader io.
}()
if path == "" {
return nil, errors.New("empty path given for cover")
return nil, errors.New("empty path given for artwork")
}
var data []byte
@@ -184,13 +184,13 @@ func readFromFile(path string) ([]byte, error) {
return buf.Bytes(), nil
}
func NewImageCache() CoverCache {
func NewImageCache() ArtworkCache {
return NewFileCache("Image", conf.Server.ImageCacheSize, consts.ImageCacheDir, consts.DefaultImageCacheMaxItems,
func(ctx context.Context, arg fmt.Stringer) (io.Reader, error) {
info := arg.(*coverInfo)
reader, err := info.c.getCover(ctx, info.path, info.size)
info := arg.(*imageInfo)
reader, err := info.c.getArtwork(ctx, info.path, info.size)
if err != nil {
log.Error(ctx, "Error loading cover art", "path", info.path, "size", info.size, err)
log.Error(ctx, "Error loading artwork art", "path", info.path, "size", info.size, err)
return nil, err
}
return reader, nil
+19 -19
View File
@@ -15,8 +15,8 @@ import (
. "github.com/onsi/gomega"
)
var _ = Describe("Cover", func() {
var cover Cover
var _ = Describe("Artwork", func() {
var artwork Artwork
var ds model.DataStore
ctx := log.NewContext(context.TODO())
@@ -32,57 +32,57 @@ var _ = Describe("Cover", func() {
conf.Server.ImageCacheSize = "100MB"
cache := NewImageCache()
Eventually(func() bool { return cache.Ready() }).Should(BeTrue())
cover = NewCover(ds, cache)
artwork = NewArtwork(ds, cache)
})
AfterEach(func() {
os.RemoveAll(conf.Server.DataFolder)
})
It("retrieves the external cover art for an album", func() {
It("retrieves the external artwork art for an album", func() {
buf := new(bytes.Buffer)
Expect(cover.Get(ctx, "al-444", 0, buf)).To(BeNil())
Expect(artwork.Get(ctx, "al-444", 0, buf)).To(BeNil())
_, format, err := image.Decode(bytes.NewReader(buf.Bytes()))
Expect(err).To(BeNil())
Expect(format).To(Equal("jpeg"))
})
It("retrieves the embedded cover art for an album", func() {
It("retrieves the embedded artwork art for an album", func() {
buf := new(bytes.Buffer)
Expect(cover.Get(ctx, "al-222", 0, buf)).To(BeNil())
Expect(artwork.Get(ctx, "al-222", 0, buf)).To(BeNil())
_, format, err := image.Decode(bytes.NewReader(buf.Bytes()))
Expect(err).To(BeNil())
Expect(format).To(Equal("jpeg"))
})
It("returns the default cover if album does not have cover", func() {
It("returns the default artwork if album does not have artwork", func() {
buf := new(bytes.Buffer)
Expect(cover.Get(ctx, "al-333", 0, buf)).To(BeNil())
Expect(artwork.Get(ctx, "al-333", 0, buf)).To(BeNil())
_, format, err := image.Decode(bytes.NewReader(buf.Bytes()))
Expect(err).To(BeNil())
Expect(format).To(Equal("png"))
})
It("returns the default cover if album is not found", func() {
It("returns the default artwork if album is not found", func() {
buf := new(bytes.Buffer)
Expect(cover.Get(ctx, "al-0101", 0, buf)).To(BeNil())
Expect(artwork.Get(ctx, "al-0101", 0, buf)).To(BeNil())
_, format, err := image.Decode(bytes.NewReader(buf.Bytes()))
Expect(err).To(BeNil())
Expect(format).To(Equal("png"))
})
It("retrieves the original cover art from a media_file", func() {
It("retrieves the original artwork art from a media_file", func() {
buf := new(bytes.Buffer)
Expect(cover.Get(ctx, "123", 0, buf)).To(BeNil())
Expect(artwork.Get(ctx, "123", 0, buf)).To(BeNil())
img, format, err := image.Decode(bytes.NewReader(buf.Bytes()))
Expect(err).To(BeNil())
@@ -91,20 +91,20 @@ var _ = Describe("Cover", func() {
Expect(img.Bounds().Size().Y).To(Equal(600))
})
It("retrieves the album cover art if media_file does not have one", func() {
It("retrieves the album artwork art if media_file does not have one", func() {
buf := new(bytes.Buffer)
Expect(cover.Get(ctx, "456", 0, buf)).To(BeNil())
Expect(artwork.Get(ctx, "456", 0, buf)).To(BeNil())
_, format, err := image.Decode(bytes.NewReader(buf.Bytes()))
Expect(err).To(BeNil())
Expect(format).To(Equal("jpeg"))
})
It("resized cover art as requested", func() {
It("resized artwork art as requested", func() {
buf := new(bytes.Buffer)
Expect(cover.Get(ctx, "123", 200, buf)).To(BeNil())
Expect(artwork.Get(ctx, "123", 200, buf)).To(BeNil())
img, format, err := image.Decode(bytes.NewReader(buf.Bytes()))
Expect(err).To(BeNil())
@@ -118,14 +118,14 @@ var _ = Describe("Cover", func() {
ds.Album(ctx).(*persistence.MockAlbum).SetError(true)
buf := new(bytes.Buffer)
Expect(cover.Get(ctx, "al-222", 0, buf)).To(MatchError("Error!"))
Expect(artwork.Get(ctx, "al-222", 0, buf)).To(MatchError("Error!"))
})
It("returns err if gets error from media_file table", func() {
ds.MediaFile(ctx).(*persistence.MockMediaFile).SetError(true)
buf := new(bytes.Buffer)
Expect(cover.Get(ctx, "123", 0, buf)).To(MatchError("Error!"))
Expect(artwork.Get(ctx, "123", 0, buf)).To(MatchError("Error!"))
})
})
})
+1 -1
View File
@@ -6,7 +6,7 @@ import (
)
var Set = wire.NewSet(
NewCover,
NewArtwork,
NewMediaStreamer,
NewTranscodingCache,
NewImageCache,