diff --git a/pkg/client/navigation_test.go b/pkg/client/navigation_test.go index ba93ce6..e4fd485 100644 --- a/pkg/client/navigation_test.go +++ b/pkg/client/navigation_test.go @@ -202,7 +202,6 @@ func TestClient_NavigateWithMenu(t *testing.T) { } client := NewClient(config) client.baseURL = server.URL - response, err := client.NavigateWithMenu("PANDORA", "user123", "radioStations", "dateCreated", 1, 100) if err != nil { @@ -591,8 +590,7 @@ func TestClient_GetTuneInStations(t *testing.T) { } client := NewClient(config) client.baseURL = server.URL - - response, err := client.GetTuneInStations("") + response, err := client.GetTuneInStations("Rock") if err != nil { t.Errorf("Unexpected error: %v", err) diff --git a/pkg/models/navigation.go b/pkg/models/navigation.go index a1a3466..b40438e 100644 --- a/pkg/models/navigation.go +++ b/pkg/models/navigation.go @@ -160,22 +160,26 @@ func NewSearchStationRequest(source, sourceAccount, searchTerm string) *SearchSt // GetPlayableItems returns only the playable items from the navigate response func (nr *NavigateResponse) GetPlayableItems() []NavigateItem { var playable []NavigateItem + for _, item := range nr.Items { if item.Playable == 1 { playable = append(playable, item) } } + return playable } // GetDirectories returns only the directory items from the navigate response func (nr *NavigateResponse) GetDirectories() []NavigateItem { var directories []NavigateItem + for _, item := range nr.Items { if item.Type == "dir" { directories = append(directories, item) } } + return directories } @@ -193,11 +197,13 @@ func (nr *NavigateResponse) GetTracks() []NavigateItem { // GetStations returns only the station items from the navigate response func (nr *NavigateResponse) GetStations() []NavigateItem { var stations []NavigateItem + for _, item := range nr.Items { if item.Type == "stationurl" || (item.ContentItem != nil && item.ContentItem.Type == "stationurl") { stations = append(stations, item) } } + return stations } @@ -211,6 +217,7 @@ func (ni *NavigateItem) GetDisplayName() string { if ni.Name != "" { return ni.Name } + if ni.ContentItem != nil && ni.ContentItem.ItemName != "" { return ni.ContentItem.ItemName } @@ -253,6 +260,7 @@ func (ni *NavigateItem) GetArtwork() string { // GetAllResults returns all search results regardless of type func (sr *SearchStationResponse) GetAllResults() []SearchResult { var allResults []SearchResult + allResults = append(allResults, sr.Songs...) allResults = append(allResults, sr.Artists...) allResults = append(allResults, sr.Stations...) diff --git a/pkg/models/supportedurls.go b/pkg/models/supportedurls.go index f70ae42..f8f5121 100644 --- a/pkg/models/supportedurls.go +++ b/pkg/models/supportedurls.go @@ -379,6 +379,7 @@ func (s *SupportedURLsResponse) GetSupportedFeatures() []EndpointFeature { // GetUnsupportedFeatures returns features not supported by this device func (s *SupportedURLsResponse) GetUnsupportedFeatures() []EndpointFeature { features := GetEndpointFeatureMap() + var unsupported []EndpointFeature for _, feature := range features { @@ -402,6 +403,7 @@ func (s *SupportedURLsResponse) GetUnsupportedFeatures() []EndpointFeature { // GetPartiallyImplementedFeatures returns features where only some endpoints are supported func (s *SupportedURLsResponse) GetPartiallyImplementedFeatures() []EndpointFeature { features := GetEndpointFeatureMap() + var partial []EndpointFeature for _, feature := range features { @@ -428,6 +430,7 @@ func (s *SupportedURLsResponse) GetPartiallyImplementedFeatures() []EndpointFeat // GetMissingEssentialFeatures returns essential features that are not supported func (s *SupportedURLsResponse) GetMissingEssentialFeatures() []EndpointFeature { features := GetEndpointFeatureMap() + var missing []EndpointFeature for _, feature := range features {