Skip to content

Commit 22e8723

Browse files
committed
Some simplifications
1 parent 8e40483 commit 22e8723

File tree

1 file changed

+16
-26
lines changed

1 file changed

+16
-26
lines changed

lib/srgssr.py

Lines changed: 16 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@ def build_folder_menu(self, folders):
314314
handle=self.handle, url=purl,
315315
listitem=list_item, isFolder=True)
316316

317+
# TODO: check parameters
317318
def build_menu_apiv3(self, queries, mode, page=None, page_hash=None,
318319
name='', whitelist_ids=None):
319320
"""
@@ -333,13 +334,10 @@ def build_menu_apiv3(self, queries, mode, page=None, page_hash=None,
333334
items = []
334335
for query in queries:
335336
data = json.loads(self.open_url(self.apiv3_url + query))
336-
if data and 'data' in data:
337-
# TODO: simplify
338-
data = data['data']
339-
if 'data' in data:
340-
data = data['data']
341-
if 'results' in data:
342-
data = data['results']
337+
if data:
338+
data = utils.try_get(data, ['data', 'data'], list, []) or \
339+
utils.try_get(data, ['data', 'results'], list, []) or \
340+
utils.try_get(data, 'data', list, [])
343341
for item in data:
344342
items.append(item)
345343

@@ -423,12 +421,17 @@ def build_favourite_shows_menu(self):
423421
self.log('build_favourite_shows_menu')
424422
self.build_all_shows_menu(favids=self.read_favourite_show_ids())
425423

426-
# TODO: docstring
427424
def build_topics_menu(self):
425+
"""
426+
Builds a menu containing the topics from the SRGSSR API.
427+
"""
428428
self.build_menu_apiv3('topics', None) # TODO: mode?
429429

430-
# TODO: docstring
431430
def build_most_searched_shows_menu(self):
431+
"""
432+
Builds a menu containing the most searched TV shows from
433+
the SRGSSR API.
434+
"""
432435
self.build_menu_apiv3(
433436
'search/most-searched-tv-shows', None) # TODO: mode?
434437

@@ -879,21 +882,11 @@ def build_search_media_menu(self, mode=28, name='', page=1, page_hash=''):
879882
self.log(('build_search_media_menu, mode = %s, name = %s, page = %s'
880883
', page_hash = %s') % (mode, name, page, page_hash))
881884
media_type = 'video'
882-
# url_layout = self.host_url + ('/play/search/media?searchQuery=%s'
883-
# '&numberOfMedias=%s&mediaType=%s'
884-
# '&includeAggregations=false')
885885
if name:
886886
# `name` is provided by `next_page` folder or
887887
# by previously performed search
888888
query_string = name
889-
if page_hash:
890-
# `name` is provided by `next_page` folder, so it is
891-
# already quoted
892-
# query_url = (url_layout + '&nextPageHash=%s') % (
893-
# query_string, self.number_of_episodes, media_type,
894-
# page_hash)
895-
pass
896-
else:
889+
if not page_hash:
897890
# `name` is provided by previously performed search, so it
898891
# needs to be processed first
899892
query_string = quote_plus(query_string)
@@ -904,17 +897,14 @@ def build_search_media_menu(self, mode=28, name='', page=1, page_hash=''):
904897
if not query_string:
905898
self.log('build_search_media_menu: No input provided')
906899
return
907-
if True: # TODO: remove
908-
self.write_search(RECENT_MEDIA_SEARCHES_FILENAME, query_string)
900+
self.write_search(RECENT_MEDIA_SEARCHES_FILENAME, query_string)
909901
query_string = quote_plus(query_string)
910902
query = 'search/media?searchTerm=' + query_string
911903

912-
# query = query + '&mediaType=' + media_type \
913-
# + '&includeAggregations=false'
914904
query = f'{query}&mediaType={media_type}&includeAggregations=false'
915905
cursor = page_hash if page_hash else ''
916-
return self.build_menu_apiv3(
917-
query, mode, page_hash=cursor, name=query_string)
906+
return self.build_menu_apiv3(query, mode, page_hash=cursor,
907+
name=query_string)
918908

919909
def get_auth_url(self, url, segment_data=None):
920910
"""

0 commit comments

Comments
 (0)