feat: download playlists

This commit is contained in:
Mathis Maquenne
2024-10-14 16:22:44 +02:00
parent cfa53da6ae
commit f247a0f71e
12 changed files with 465 additions and 311 deletions
+35
View File
@@ -0,0 +1,35 @@
package deezer
import (
"encoding/json"
"path"
)
type Playlist struct {
Data struct {
Title string `json:"TITLE"`
} `json:"DATA"`
Songs struct {
Data []*Song `json:"data"`
} `json:"SONGS"`
}
func (p *Playlist) GetURL(id string) string {
return "https://www.deezer.com/en/playlist/" + id
}
func (p *Playlist) UnmarshalData(data []byte) error {
return json.Unmarshal(data, p)
}
func (p *Playlist) GetSongs() []*Song {
return p.Songs.Data
}
func (p *Playlist) GetOutputPath(outputDir string) string {
return path.Join(outputDir, p.Data.Title)
}
func (p *Playlist) GetTitle() string {
return p.Data.Title
}