From ea9fcead7efc9d70a671920631f18dba0cd9a570 Mon Sep 17 00:00:00 2001 From: Mathis Maquenne <124215603+mathismqn@users.noreply.github.com> Date: Tue, 8 Oct 2024 01:39:29 +0200 Subject: [PATCH] feat: update download cmd to use new functions --- cmd/download.go | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/cmd/download.go b/cmd/download.go index f750e1c..90b2e2e 100644 --- a/cmd/download.go +++ b/cmd/download.go @@ -1,12 +1,40 @@ package cmd -import "github.com/spf13/cobra" +import ( + "fmt" + "os" + + "github.com/mathismqn/godeez/internal/album" + "github.com/mathismqn/godeez/internal/song" + "github.com/spf13/cobra" +) var downloadCmd = &cobra.Command{ - Use: "download [ID]", - Short: "Download a track from Deezer", + Use: "download [album_id...]", + Short: "Download songs from one or more albums", Run: func(cmd *cobra.Command, args []string) { - // Your code here + if len(args) == 0 { + cmd.Help() + return + } + + for _, id := range args { + albumData, err := album.GetDataByID(id) + if err != nil { + fmt.Fprintf(os.Stderr, "could not fetch album data: %v\n", err) + continue + } + + for _, s := range albumData.Songs.Data { + media, err := song.GetMedia(s) + if err != nil { + fmt.Fprintf(os.Stderr, "could not fetch media data: %v\n", err) + continue + } + + fmt.Println(media) + } + } }, }