Fix Track model to match Python reference
- R128: changed from JSONR128 float64 to R128 struct with i, tp, important_secs fields (Python R128 is an object, not a number) - StorageID -> StorageDir with json tag storage_dir (Python API uses storage_dir) - Lyrics: replaced TrackLyricsInfo with Lyrics (from supplement/lyrics.py) and TrackLyricsInfo (from track/lyrics_info.py with has_available_sync_lyrics, has_available_text_lyrics fields) - Track.Lyrics field now maps to lyrics_info JSON key with TrackLyricsInfo type
This commit is contained in:
1 parent
ad83d84531
commit
6312c24b0f
5 files changed
+192
-52
No files matched your search
@@ -11,7 +11,7 @@ type TrackShort struct {
|
||||
ID JSONID `json:"id"`
|
||||
Title string `json:"title"`
|
||||
DurationMs int `json:"duration_ms"`
|
||||
StorageID string `json:"storage_id"`
|
||||
StorageDir string `json:"storage_dir"`
|
||||
CoverURI string `json:"cover_uri"`
|
||||
Artists []Artist `json:"artists"`
|
||||
Albums []Album `json:"albums"`
|
||||
@@ -20,7 +20,7 @@ type TrackShort struct {
|
||||
Explicit bool `json:"explicit"`
|
||||
Available bool `json:"available"`
|
||||
AvailableForPremiumUsers bool `json:"available_for_premium_users"`
|
||||
R128 JSONR128 `json:"r128"`
|
||||
R128 *R128 `json:"r128"`
|
||||
TrackSharingFlag string `json:"track_sharing_flag"`
|
||||
Major *Major `json:"major"`
|
||||
Lyrics *SupplementLyrics `json:"lyrics"`
|
||||
@@ -51,8 +51,8 @@ func (t *TrackShort) DeJSON(data []byte, c ClientInterface) (Model, error) {
|
||||
if v, ok := raw["duration_ms"]; ok {
|
||||
json.Unmarshal(v, &track.DurationMs)
|
||||
}
|
||||
if v, ok := raw["storage_id"]; ok {
|
||||
json.Unmarshal(v, &track.StorageID)
|
||||
if v, ok := raw["storage_dir"]; ok {
|
||||
json.Unmarshal(v, &track.StorageDir)
|
||||
}
|
||||
if v, ok := raw["cover_uri"]; ok {
|
||||
json.Unmarshal(v, &track.CoverURI)
|
||||
|
||||
Reference in new issue
Block a user