From 2f12cff16ad50dcad3264ba5c27eda6f188b3d0c Mon Sep 17 00:00:00 2001 From: Eric van Blokland Date: Thu, 9 Sep 2021 01:30:01 +0200 Subject: [PATCH] Don't list pages if there is just a single page --- mopidy_radionet/library.py | 40 +++++++++++++++++++++++++------------- tests/test_library.py | 27 ++++++++++++++----------- 2 files changed, 42 insertions(+), 25 deletions(-) diff --git a/mopidy_radionet/library.py b/mopidy_radionet/library.py index bf890d8..fff3d22 100644 --- a/mopidy_radionet/library.py +++ b/mopidy_radionet/library.py @@ -99,13 +99,19 @@ class RadioNetLibraryProvider(backend.LibraryProvider): result.append(self.station_to_ref(item)) elif not page: pages = self._get_category_pages(category) - for index in range(pages): - result.append( - self.ref_directory( - "radionet:{0}:{1}".format(category, str(index + 1)), - str(index + 1), + if pages == 1: + items = self._get_category(category, 1) + if items: + for item in items: + result.append(self.station_to_ref(item)) + else: + for index in range(pages): + result.append( + self.ref_directory( + "radionet:{0}:{1}".format(category, str(index + 1)), + str(index + 1), + ) ) - ) else: items = self._get_category(category, page) if items: @@ -139,15 +145,21 @@ class RadioNetLibraryProvider(backend.LibraryProvider): ) elif not page: pages = self._get_sorted_category_pages(category, value) - for index in range(pages): - result.append( - self.ref_directory( - "radionet:{0}:{1}:{2}:{3}".format( - category, value, sorting, str(index + 1) - ), - str(index + 1), + if pages == 1: + items = self._get_sorted_category(category, value, sorting, 1) + if items: + for item in items: + result.append(self.station_to_ref(item)) + else: + for index in range(pages): + result.append( + self.ref_directory( + "radionet:{0}:{1}:{2}:{3}".format( + category, value, sorting, str(index + 1) + ), + str(index + 1), + ) ) - ) else: items = self._get_sorted_category(category, value, sorting, page) if items: diff --git a/tests/test_library.py b/tests/test_library.py index d551a6f..5ea2d2c 100644 --- a/tests/test_library.py +++ b/tests/test_library.py @@ -13,8 +13,9 @@ def test_browse_localstations(library): page_uri = results[0].uri if results is not None else None assert page_uri is not None - results = library.browse(page_uri) - assert len(results) > 0 + # 1 Page, not results + # results = library.browse(page_uri) + # assert len(results) > 0 def test_browse_topstations(library): @@ -64,15 +65,16 @@ def test_browse_topics(library): page_uri = results[0].uri if results is not None else None assert page_uri is not None - results = library.browse(page_uri) - assert len(results) > 0 + # 1 Page, not results + # results = library.browse(page_uri) + # assert len(results) > 0 def test_browse_languages(library): results = library.browse('radionet:languages'); assert len(results) > 0 - cat_uri = results[0].uri if results is not None else None + cat_uri = results[5].uri if results is not None else None assert cat_uri is not None results = library.browse(cat_uri) @@ -87,8 +89,9 @@ def test_browse_languages(library): page_uri = results[0].uri if results is not None else None assert page_uri is not None - results = library.browse(page_uri) - assert len(results) > 0 + # 1 Page, not results + # results = library.browse(page_uri) + # assert len(results) > 0 def test_browse_cities(library): @@ -110,8 +113,9 @@ def test_browse_cities(library): page_uri = results[0].uri if results is not None else None assert page_uri is not None - results = library.browse(page_uri) - assert len(results) > 0 + # 1 Page, not results + # results = library.browse(page_uri) + # assert len(results) > 0 def test_browse_countries(library): @@ -133,8 +137,9 @@ def test_browse_countries(library): page_uri = results[0].uri if results is not None else None assert page_uri is not None - results = library.browse(page_uri) - assert len(results) > 0 + # 1 Page, not results + # results = library.browse(page_uri) + # assert len(results) > 0 def test_browse_favorites(library):