ListenBrainz: Fix love import and rate limit check

This commit is contained in:
Philipp Wolfer 2023-11-13 11:42:09 +01:00
parent 161ada7aff
commit aa453e4dc2
No known key found for this signature in database
GPG key ID: 8FDF744D4919943B
8 changed files with 101 additions and 33 deletions

View file

@ -48,25 +48,25 @@ type Listen struct {
}
type Track struct {
TrackName string `json:"track_name"`
ArtistName string `json:"artist_name"`
ReleaseName string `json:"release_name"`
AdditionalInfo map[string]any `json:"additional_info"`
MbidMapping MbidMapping `json:"mbid_mapping"`
TrackName string `json:"track_name,omitempty"`
ArtistName string `json:"artist_name,omitempty"`
ReleaseName string `json:"release_name,omitempty"`
AdditionalInfo map[string]any `json:"additional_info,omitempty"`
MbidMapping *MbidMapping `json:"mbid_mapping,omitempty"`
}
type MbidMapping struct {
RecordingName string `json:"recording_name"`
RecordingMbid string `json:"recording_mbid"`
ReleaseMbid string `json:"release_mbid"`
ArtistMbids []string `json:"artist_mbids"`
Artists []Artist `json:"artists"`
RecordingName string `json:"recording_name,omitempty"`
RecordingMbid string `json:"recording_mbid,omitempty"`
ReleaseMbid string `json:"release_mbid,omitempty"`
ArtistMbids []string `json:"artist_mbids,omitempty"`
Artists []Artist `json:"artists,omitempty"`
}
type Artist struct {
ArtistCreditName string `json:"artist_credit_name"`
ArtistMbid string `json:"artist_mbid"`
JoinPhrase string `json:"join_phrase"`
ArtistCreditName string `json:"artist_credit_name,omitempty"`
ArtistMbid string `json:"artist_mbid,omitempty"`
JoinPhrase string `json:"join_phrase,omitempty"`
}
type GetFeedbackResult struct {
@ -77,18 +77,23 @@ type GetFeedbackResult struct {
}
type Feedback struct {
Created int64 `json:"created"`
RecordingMbid string `json:"recording_mbid"`
RecordingMsid string `json:"recording_msid"`
Score int `json:"score"`
TrackMetadata Track `json:"track_metadata"`
UserName string `json:"user_id"`
Created int64 `json:"created,omitempty"`
RecordingMbid string `json:"recording_mbid,omitempty"`
RecordingMsid string `json:"recording_msid,omitempty"`
Score int `json:"score,omitempty"`
TrackMetadata *Track `json:"track_metadata,omitempty"`
UserName string `json:"user_id,omitempty"`
}
type StatusResult struct {
Status string `json:"status"`
}
type ErrorResult struct {
Code int `json:"code"`
Error string `json:"error"`
}
func (t Track) Duration() time.Duration {
info := t.AdditionalInfo
millisecondsF, ok := tryGetFloat[float64](info, "duration_ms")