deezer

package
v0.18.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 10, 2019 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const (
	APIEndPoint = "https://api.deezer.com"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Ajax added in v0.18.0

type Ajax struct {
	Error   []interface{} `json:"error"`
	Results struct {
		Count int `json:"count"`
		Data  []struct {
			ALBID                string `json:"ALB_ID"`
			ALBPICTURE           string `json:"ALB_PICTURE"`
			ALBTITLE             string `json:"ALB_TITLE"`
			ARTID                string `json:"ART_ID"`
			ARTNAME              string `json:"ART_NAME"`
			DIGITALRELEASEDATE   string `json:"DIGITAL_RELEASE_DATE"`
			DISKNUMBER           string `json:"DISK_NUMBER"`
			DURATION             string `json:"DURATION"`
			EXPLICITLYRICS       string `json:"EXPLICIT_LYRICS"`
			EXPLICITTRACKCONTENT struct {
				EXPLICITCOVERSTATUS  int `json:"EXPLICIT_COVER_STATUS"`
				EXPLICITLYRICSSTATUS int `json:"EXPLICIT_LYRICS_STATUS"`
			} `json:"EXPLICIT_TRACK_CONTENT"`
			FILESIZE          string `json:"FILESIZE"`
			FILESIZEAAC64     int    `json:"FILESIZE_AAC_64"`
			FILESIZEFLAC      string `json:"FILESIZE_FLAC"`
			FILESIZEMP3_128   string `json:"FILESIZE_MP3_128"`
			FILESIZEMP3_256   int    `json:"FILESIZE_MP3_256"`
			FILESIZEMP3_320   string `json:"FILESIZE_MP3_320"`
			FILESIZEMP3_64    string `json:"FILESIZE_MP3_64"`
			GAIN              string `json:"GAIN"`
			GENREID           string `json:"GENRE_ID"`
			HIERARCHICALTITLE string `json:"HIERARCHICAL_TITLE"`
			ISRC              string `json:"ISRC"`
			LYRICSID          int    `json:"LYRICS_ID"`
			MD5ORIGIN         string `json:"MD5_ORIGIN"`
			MEDIA             []struct {
				HREF string `json:"HREF"`
				TYPE string `json:"TYPE"`
			} `json:"MEDIA"`
			MEDIAVERSION        string `json:"MEDIA_VERSION"`
			PHYSICALRELEASEDATE string `json:"PHYSICAL_RELEASE_DATE"`
			PROVIDERID          string `json:"PROVIDER_ID"`
			RANKSNG             string `json:"RANK_SNG"`
			RIGHTS              struct {
				STREAMADS          string `json:"STREAM_ADS"`
				STREAMADSAVAILABLE bool   `json:"STREAM_ADS_AVAILABLE"`
				STREAMSUB          string `json:"STREAM_SUB"`
				STREAMSUBAVAILABLE bool   `json:"STREAM_SUB_AVAILABLE"`
			} `json:"RIGHTS"`
			SMARTRADIO      int `json:"SMARTRADIO"`
			SNGCONTRIBUTORS struct {
				Artist     []string `json:"artist"`
				Author     []string `json:"author"`
				Composer   []string `json:"composer"`
				MainArtist []string `json:"main_artist"`
			} `json:"SNG_CONTRIBUTORS"`
			SNGID            string `json:"SNG_ID"`
			SNGTITLE         string `json:"SNG_TITLE"`
			STATUS           int    `json:"STATUS"`
			TRACKNUMBER      string `json:"TRACK_NUMBER"`
			TRACKTOKEN       string `json:"TRACK_TOKEN"`
			TRACKTOKENEXPIRE int    `json:"TRACK_TOKEN_EXPIRE"`
			TYPE             int    `json:"TYPE"`
			USERID           int    `json:"USER_ID"`
			VERSION          string `json:"VERSION"`
			TYPE2            string `json:"__TYPE__"`
		} `json:"data"`
		FilteredCount int `json:"filtered_count"`
		Total         int `json:"total"`
	} `json:"results"`
}

type Deezer

type Deezer struct {
	// contains filtered or unexported fields
}

Deezer structure for querying its API

func New

func New(sid string) *Deezer

New Deezer structure. api key can be blank for now.

func (*Deezer) GetCover added in v0.18.0

func (d *Deezer) GetCover(id string) (string, error)

func (*Deezer) GetRelease added in v0.18.0

func (d *Deezer) GetRelease(id string) (*Release, error)

GetRelease from the API. Returns the complete response.

func (*Deezer) GetTrackIDsFromAlbumID

func (d *Deezer) GetTrackIDsFromAlbumID(id string) ([]int, error)

GetTrackIDsFromAlbumID returns a list of tracks ids.

type Release added in v0.18.0

type Release struct {
	Artist struct {
		ID            int    `json:"id"`
		Name          string `json:"name"`
		Picture       string `json:"picture"`
		PictureBig    string `json:"picture_big"`
		PictureMedium string `json:"picture_medium"`
		PictureSmall  string `json:"picture_small"`
		PictureXl     string `json:"picture_xl"`
		Tracklist     string `json:"tracklist"`
		Type          string `json:"type"`
	} `json:"artist"`
	Available    bool `json:"available"`
	Contributors []struct {
		ID            int    `json:"id"`
		Link          string `json:"link"`
		Name          string `json:"name"`
		Picture       string `json:"picture"`
		PictureBig    string `json:"picture_big"`
		PictureMedium string `json:"picture_medium"`
		PictureSmall  string `json:"picture_small"`
		PictureXl     string `json:"picture_xl"`
		Radio         bool   `json:"radio"`
		Role          string `json:"role"`
		Share         string `json:"share"`
		Tracklist     string `json:"tracklist"`
		Type          string `json:"type"`
	} `json:"contributors"`
	Cover                 string `json:"cover"`
	CoverBig              string `json:"cover_big"`
	CoverMedium           string `json:"cover_medium"`
	CoverSmall            string `json:"cover_small"`
	CoverXl               string `json:"cover_xl"`
	Duration              int    `json:"duration"`
	ExplicitContentCover  int    `json:"explicit_content_cover"`
	ExplicitContentLyrics int    `json:"explicit_content_lyrics"`
	ExplicitLyrics        bool   `json:"explicit_lyrics"`
	Fans                  int    `json:"fans"`
	GenreID               int    `json:"genre_id"`
	Genres                struct {
		Data []struct {
			ID      int    `json:"id"`
			Name    string `json:"name"`
			Picture string `json:"picture"`
			Type    string `json:"type"`
		} `json:"data"`
	} `json:"genres"`
	ID          int    `json:"id"`
	Label       string `json:"label"`
	Link        string `json:"link"`
	NbTracks    int    `json:"nb_tracks"`
	Rating      int    `json:"rating"`
	RecordType  string `json:"record_type"`
	ReleaseDate string `json:"release_date"`
	Share       string `json:"share"`
	Title       string `json:"title"`
	Tracklist   string `json:"tracklist"`
	Tracks      struct {
		Data []struct {
			Artist struct {
				ID        int    `json:"id"`
				Name      string `json:"name"`
				Tracklist string `json:"tracklist"`
				Type      string `json:"type"`
			} `json:"artist"`
			Duration              int    `json:"duration"`
			ExplicitContentCover  int    `json:"explicit_content_cover"`
			ExplicitContentLyrics int    `json:"explicit_content_lyrics"`
			ExplicitLyrics        bool   `json:"explicit_lyrics"`
			ID                    int    `json:"id"`
			Link                  string `json:"link"`
			Preview               string `json:"preview"`
			Rank                  int    `json:"rank"`
			Readable              bool   `json:"readable"`
			Title                 string `json:"title"`
			TitleShort            string `json:"title_short"`
			TitleVersion          string `json:"title_version"`
			Type                  string `json:"type"`
		} `json:"data"`
	} `json:"tracks"`
	Type string `json:"type"`
	Upc  string `json:"upc"`
}

func (*Release) ReleaseYear added in v0.18.0

func (r *Release) ReleaseYear() int

type UserData added in v0.18.0

type UserData struct {
	Error   []interface{} `json:"error"`
	Results struct {
		CheckForm string `json:"checkForm"`
	} `json:"results"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL