diff --git a/ui/cover_art.go b/ui/cover_art.go index e854dc0..9fceb21 100644 --- a/ui/cover_art.go +++ b/ui/cover_art.go @@ -63,54 +63,49 @@ func (c *CoverArt) RefreshState() { SendNotification(err.Error()) return } - if state != nil { - if state.Item != nil { - if len(state.Item.Album.Images) > 0 { - file := fileName(state.Item.Album) + if state != nil && state.Item != nil && + len(state.Item.Album.Images) > 0 { - // Download Image if doesn't Exits - if !utils.FileExists(file) { - msg := SendNotificationWithChan("Downloading Cover Art...") - f, err := os.OpenFile(file, os.O_CREATE|os.O_WRONLY, 0644) - defer f.Close() - if err != nil { - go func() { - msg <- fmt.Sprintf("Error Downloading Image: %s", err.Error()) - }() - return - } - if len(state.Item.Album.Images) == 0 { - SendNotification("No Cover Art found for album: %s!", state.Item.Album.Name) - return - } - err = state.Item.Album.Images[0].Download(f) - if err != nil { - go func() { - msg <- fmt.Sprintf("Error Downloading Image: %s", err.Error()) - }() - return - } - go func() { - msg <- "Image Downloaded Succesfully!" - }() - } + file := fileName(state.Item.Album) - // Open the Image - uimg, err := getImg(file) - if err != nil { - SendNotification("Error Rendering Image: %s", err.Error()) - return - } - im, err := ueberzug.NewImage(uimg, - int(ImgX*fw)+cfg.AdditionalPaddingX, - int(ImgY*fh)+cfg.AdditionalPaddingY) - if err != nil { - SendNotification("Error Rendering Image: %s", err.Error()) - return - } - c.image = im + // Download Image if doesn't Exits + if !utils.FileExists(file) { + msg := SendNotificationWithChan("Downloading Cover Art...") + f, err := os.OpenFile(file, os.O_CREATE|os.O_WRONLY, 0644) + defer f.Close() + if err != nil { + go func() { + msg <- fmt.Sprintf("Following error occured while creating file: %s", err.Error()) + }() + return } + err = state.Item.Album.Images[0].Download(f) + if err != nil { + go func() { + msg <- fmt.Sprintf("Following error occured while downloading the image: %s", err.Error()) + }() + return + } + go func() { + msg <- "Image downloaded succesfully!" + }() } + + // Open the Image + uimg, err := getImg(file) + if err != nil { + SendNotification("Error Rendering Image: %s", err.Error()) + return + } + im, err := ueberzug.NewImage(uimg, + int(ImgX*fw)+cfg.AdditionalPaddingX, + int(ImgY*fh)+cfg.AdditionalPaddingY) + if err != nil { + SendNotification("Error Rendering Image: %s", err.Error()) + return + } + c.image = im + } cm.Unlock() }