Skip to content

Commit d321a5d

Browse files
committed
linting
1 parent 683f82d commit d321a5d

File tree

5 files changed

+71
-52
lines changed

5 files changed

+71
-52
lines changed

lib/menus.py

Lines changed: 39 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ def build_main_menu(self, identifiers=[]):
4545
self.srgssr.log('build_main_menu')
4646

4747
def display_item(item):
48-
return item in identifiers and self.srgssr.get_boolean_setting(item)
48+
return item in identifiers and \
49+
self.srgssr.get_boolean_setting(item)
4950

5051
main_menu_list = [
5152
{
@@ -123,17 +124,13 @@ def display_item(item):
123124
'identifier': f'{self.srgssr.bu.upper()}_YouTube',
124125
'name': self.srgssr.plugin_language(30074),
125126
'mode': 30,
126-
'displayItem': display_item(f'{self.srgssr.bu.upper()}_YouTube'),
127+
'displayItem': display_item(
128+
f'{self.srgssr.bu.upper()}_YouTube'),
127129
'icon': self.srgssr.get_youtube_icon(),
128130
}
129131
]
130-
# folders = []
131-
# for ide in identifiers:
132-
# item = next((e for e in main_menu_list if
133-
# e['identifier'] == ide), None)
134-
# if item:
135-
# folders.append(item)
136-
folders = [item for item in main_menu_list if item['identifier'] in identifiers]
132+
folders = [item for item in main_menu_list
133+
if item['identifier'] in identifiers]
137134
self.build_folder_menu(folders)
138135

139136
def build_folder_menu(self, folders):
@@ -177,7 +174,8 @@ def build_menu_apiv3(self, queries, mode=1000, page=1, page_hash=None,
177174
# Build a combined and sorted list for several queries
178175
items = []
179176
for query in queries:
180-
data = json.loads(self.srgssr.open_url(self.srgssr.apiv3_url + query))
177+
data = json.loads(
178+
self.srgssr.open_url(self.srgssr.apiv3_url + query))
181179
if data:
182180
data = utils.try_get(data, ['data', 'data'], list, []) or \
183181
utils.try_get(data, ['data', 'medias'], list, []) or \
@@ -202,7 +200,8 @@ def build_menu_apiv3(self, queries, mode=1000, page=1, page_hash=None,
202200
url = f'{self.srgssr.apiv3_url}{queries}{symb}next={cursor}'
203201
data = json.loads(self.srgssr.open_url(url))
204202
else:
205-
data = json.loads(self.srgssr.open_url(self.srgssr.apiv3_url + queries))
203+
data = json.loads(
204+
self.srgssr.open_url(self.srgssr.apiv3_url + queries))
206205
cursor = utils.try_get(data, 'next') or utils.try_get(
207206
data, ['data', 'next'])
208207

@@ -263,7 +262,8 @@ def build_favourite_shows_menu(self):
263262
Builds a list of folders for the favourite shows.
264263
"""
265264
self.srgssr.log('build_favourite_shows_menu')
266-
self.build_all_shows_menu(favids=self.srgssr.storage_manager.read_favourite_show_ids())
265+
self.build_all_shows_menu(
266+
favids=self.srgssr.storage_manager.read_favourite_show_ids())
267267

268268
def build_topics_menu(self):
269269
"""
@@ -287,9 +287,7 @@ def build_newest_favourite_menu(self, page=1):
287287
list (default: 1)
288288
"""
289289
self.srgssr.log('build_newest_favourite_menu')
290-
291290
show_ids = self.srgssr.storage_manager.read_favourite_show_ids()
292-
293291
queries = []
294292
for sid in show_ids:
295293
queries.append('videos-by-show-id?showId=' + sid)
@@ -326,7 +324,8 @@ def build_menu_from_page(self, url, path):
326324
return
327325
data = utils.try_get(js, path, list, [])
328326
if not data:
329-
self.srgssr.log('build_menu_from_page: Could not find any data in json')
327+
self.srgssr.log(
328+
'build_menu_from_page: Could not find any data in json')
330329
return
331330
for elem in data:
332331
try:
@@ -375,19 +374,21 @@ def build_episode_menu(self, video_id_or_urn, include_segments=True,
375374
segment_option -- Which segment option to use.
376375
(default: False)
377376
"""
378-
self.srgssr.log(f'build_episode_menu, video_id_or_urn = {video_id_or_urn}')
377+
self.srgssr.log(
378+
f'build_episode_menu, video_id_or_urn = {video_id_or_urn}')
379379
if ':' in video_id_or_urn:
380380
json_url = 'https://il.srgssr.ch/integrationlayer/2.0/' \
381381
f'mediaComposition/byUrn/{video_id_or_urn}.json'
382382
video_id = video_id_or_urn.split(':')[-1]
383383
else:
384-
json_url = f'https://il.srgssr.ch/integrationlayer/2.0/{self.srgssr.bu}' \
385-
f'/mediaComposition/video/{video_id_or_urn}' \
386-
'.json'
384+
json_url = f'https://il.srgssr.ch/integrationlayer/2.0/' \
385+
f'{self.srgssr.bu}/mediaComposition/video/' \
386+
f'{video_id_or_urn}.json'
387387
video_id = video_id_or_urn
388388
self.srgssr.log(f'build_episode_menu. Open URL {json_url}')
389389

390-
# TODO: we might not want to catch this error (error is better than empty menu)
390+
# TODO: we might not want to catch this error
391+
# (error is better than empty menu)
391392
try:
392393
json_response = json.loads(self.srgssr.open_url(json_url))
393394
except Exception:
@@ -551,8 +552,8 @@ def build_menu_by_urn(self, urn):
551552
elif 'topic' in urn:
552553
self.build_menu_from_page(
553554
self.srgssr.playtv_url, ('state', 'loaderData', 'play-now',
554-
'initialData', 'pacPageConfigs',
555-
'topicPages', urn, 'sections'))
555+
'initialData', 'pacPageConfigs',
556+
'topicPages', urn, 'sections'))
556557

557558
def build_entry(self, json_entry, is_folder=False,
558559
fanart=None, urn=None, show_image_url=None,
@@ -690,15 +691,18 @@ def folder_name(dato):
690691
for i in range(number_of_days):
691692
dato = current_date + datetime.timedelta(-i)
692693
list_item = xbmcgui.ListItem(label=folder_name(dato))
693-
list_item.setArt({'thumb': self.srgssr.icon, 'fanart': self.srgssr.fanart})
694+
list_item.setArt(
695+
{'thumb': self.srgssr.icon, 'fanart': self.srgssr.fanart})
694696
name = dato.strftime('%d-%m-%Y')
695697
purl = self.srgssr.build_url(mode=24, name=name)
696698
xbmcplugin.addDirectoryItem(
697699
handle=self.handle, url=purl,
698700
listitem=list_item, isFolder=True)
699701

700-
choose_item = xbmcgui.ListItem(label=self.srgssr.language(30071)) # Choose date
701-
choose_item.setArt({'thumb': self.srgssr.icon, 'fanart': self.srgssr.fanart})
702+
choose_item = xbmcgui.ListItem(
703+
label=self.srgssr.language(30071)) # Choose date
704+
choose_item.setArt(
705+
{'thumb': self.srgssr.icon, 'fanart': self.srgssr.fanart})
702706
purl = self.srgssr.build_url(mode=25)
703707
xbmcplugin.addDirectoryItem(
704708
handle=self.handle, url=purl,
@@ -825,7 +829,8 @@ def build_search_menu(self):
825829
continue
826830
list_item = xbmcgui.ListItem(label=item['name'])
827831
list_item.setProperty('IsPlayable', 'false')
828-
list_item.setArt({'thumb': item['icon'], 'fanart': self.srgssr.fanart})
832+
list_item.setArt(
833+
{'thumb': item['icon'], 'fanart': self.srgssr.fanart})
829834
url = self.srgssr.build_url(item['mode'])
830835
xbmcplugin.addDirectoryItem(
831836
handle=self.handle, url=url, listitem=list_item, isFolder=True)
@@ -834,7 +839,8 @@ def build_recent_search_menu(self):
834839
"""
835840
Lists folders for the most recent searches.
836841
"""
837-
recent_searches = self.srgssr.storage_manager.read_searches(self.srgssr.fname_media_searches)
842+
recent_searches = self.srgssr.storage_manager.read_searches(
843+
self.srgssr.fname_media_searches)
838844
mode = 28
839845
for search in recent_searches:
840846
list_item = xbmcgui.ListItem(label=search)
@@ -857,8 +863,8 @@ def build_search_media_menu(self, mode=28, name='', page=1, page_hash=''):
857863
page_hash -- the page hash when coming from a previous page
858864
(default: '')
859865
"""
860-
self.srgssr.log(f'build_search_media_menu, mode = {mode}, name = {name}, \
861-
page = {page}, page_hash = {page_hash}')
866+
self.srgssr.log(f'build_search_media_menu, mode = {mode}, \
867+
name = {name}, page = {page}, page_hash = {page_hash}')
862868
media_type = 'video'
863869
if name:
864870
# `name` is provided by `next_page` folder or
@@ -875,11 +881,12 @@ def build_search_media_menu(self, mode=28, name='', page=1, page_hash=''):
875881
if not query_string:
876882
self.srgssr.log('build_search_media_menu: No input provided')
877883
return
878-
879-
self.srgssr.storage_manager.write_search(self.srgssr.fname_media_searches, query_string)
884+
885+
self.srgssr.storage_manager.write_search(
886+
self.srgssr.fname_media_searches, query_string)
880887
query_string = quote_plus(query_string)
881888
query = f'search/media?searchTerm={query_string}'
882889

883890
query = f'{query}&mediaType={media_type}&includeAggregations=false'
884891
cursor = page_hash if page_hash else ''
885-
return self.build_menu_apiv3(query, page_hash=cursor)
892+
return self.build_menu_apiv3(query, page_hash=cursor)

lib/play.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
import utils
3030

31+
3132
class Player:
3233
"""Handles playback logic for the SRGSSR plugin."""
3334
def __init__(self, srgssr_instance):
@@ -47,9 +48,10 @@ def play_video(self, media_id_or_urn):
4748
else:
4849
# TODO: Could fail for livestreams
4950
media_type = 'video'
50-
urn = 'urn:' + self.srgssr.bu + ':' + media_type + ':' + media_id_or_urn
51+
urn = f'urn:{self.srgssr.bu}:{media_type}:{media_id_or_urn}'
5152
media_id = media_id_or_urn
52-
self.srgssr.log('play_video, urn = ' + urn + ', media_id = ' + media_id)
53+
self.srgssr.log(
54+
'play_video, urn = ' + urn + ', media_id = ' + media_id)
5355

5456
detail_url = ('https://il.srgssr.ch/integrationlayer/2.0/'
5557
'mediaComposition/byUrn/' + urn)
@@ -59,7 +61,8 @@ def play_video(self, media_id_or_urn):
5961
chapter_list = utils.try_get(
6062
json_response, 'chapterList', data_type=list, default=[])
6163
if not chapter_list:
62-
self.srgssr.log('play_video: no stream URL found (chapterList empty).')
64+
self.srgssr.log(
65+
'play_video: no stream URL found (chapterList empty).')
6366
return
6467

6568
first_chapter = utils.try_get(
@@ -70,7 +73,8 @@ def play_video(self, media_id_or_urn):
7073
resource_list = utils.try_get(
7174
chapter, 'resourceList', data_type=list, default=[])
7275
if not resource_list:
73-
self.srgssr.log('play_video: no stream URL found. (resourceList empty)')
76+
self.srgssr.log(
77+
'play_video: no stream URL found. (resourceList empty)')
7478
return
7579

7680
stream_urls = {
@@ -196,4 +200,4 @@ def play_drm(self, urn, title, resource_list):
196200
play_item.setProperty(f'{ia}.manifest_type', manifest_type)
197201
play_item.setProperty(f'{ia}.license_type', drm)
198202
play_item.setProperty(f'{ia}.license_key', lic_key)
199-
xbmcplugin.setResolvedUrl(self.handle, True, play_item)
203+
xbmcplugin.setResolvedUrl(self.handle, True, play_item)

lib/srgssr.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@ def open_url(self, url, use_cache=True):
177177
Kodi module SimpleCache should be used (default: True)
178178
"""
179179
self.log('open_url, url = ' + str(url))
180-
cache_response = self.cache.get(f'{ADDON_NAME}.open_url, url = {url}') if use_cache else None
180+
cache_response = self.cache.get(
181+
f'{ADDON_NAME}.open_url, url = {url}') if use_cache else None
181182
if not cache_response:
182183
headers = {
183184
'User-Agent': ('Mozilla/5.0 (X11; Linux x86_64; rv:136.0) '
@@ -232,7 +233,7 @@ def get_auth_url(self, url, segment_data=None):
232233
if auth_params:
233234
url += ('?' if '?' not in url else '&') + auth_params
234235
return url
235-
236+
236237
def get_subtitles(self, url, name):
237238
"""
238239
Returns subtitles from an url

lib/storage.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ class StorageManager:
2626
"""Manages file I/O operations for the SRGSSR plugin."""
2727
def __init__(self, srgssr_instance):
2828
self.srgssr = srgssr_instance
29-
self.profile_path = xbmcvfs.translatePath(self.srgssr.real_settings.getAddonInfo('profile'))
29+
self.profile_path = xbmcvfs.translatePath(
30+
self.srgssr.real_settings.getAddonInfo('profile'))
3031

3132
def read_favourite_show_ids(self):
3233
"""
@@ -43,8 +44,9 @@ def read_favourite_show_ids(self):
4344
try:
4445
return [entry['id'] for entry in json_file]
4546
except KeyError:
46-
self.srgssr.log('Unexpected file structure '
47-
f'for {self.srgssr.fname_favourite_shows}.')
47+
self.srgssr.log(
48+
'Unexpected file structure '
49+
f'for {self.srgssr.fname_favourite_shows}.')
4850
return []
4951
except (IOError, TypeError):
5052
return []
@@ -58,7 +60,8 @@ def write_favourite_show_ids(self, show_ids):
5860
show_ids -- a list of show ids (as strings)
5961
"""
6062
show_ids_dict_list = [{'id': show_id} for show_id in show_ids]
61-
file_path = os.path.join(self.profile_path, self.srgssr.fname_favourite_shows)
63+
file_path = os.path.join(
64+
self.profile_path, self.srgssr.fname_favourite_shows)
6265
if not os.path.exists(self.profile_path):
6366
os.makedirs(self.profile_path)
6467
with open(file_path, 'w') as f:
@@ -91,4 +94,4 @@ def write_search(self, filename, name, max_entries=10):
9194
if not os.path.exists(self.profile_path):
9295
os.makedirs(self.profile_path)
9396
with open(file_path, 'w') as f:
94-
json.dump(write_dict_list, f)
97+
json.dump(write_dict_list, f)

lib/youtube.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ def _read_youtube_channels(self, fname):
4040
Keyword arguments:
4141
fname -- the path to the file to be read
4242
"""
43-
data_file = os.path.join(xbmcvfs.translatePath(self.srgssr.data_uri), fname)
43+
data_file = os.path.join(
44+
xbmcvfs.translatePath(self.srgssr.data_uri), fname)
4445
with open(data_file, 'r', encoding='utf-8') as f:
4546
ch_content = json.load(f)
4647
cids = [elem['channel'] for elem in ch_content.get('channels', [])]
@@ -94,8 +95,9 @@ def build_youtube_channel_overview_menu(self, mode):
9495
"""
9596
channel_ids = self.get_youtube_channel_ids()
9697
youtube_channels.YoutubeChannels(
97-
self.handle, channel_ids,
98-
self.srgssr.addon_id, self.srgssr.debug).build_channel_overview_menu()
98+
self.handle, channel_ids,
99+
self.srgssr.addon_id, self.srgssr.debug
100+
).build_channel_overview_menu()
99101

100102
def build_youtube_channel_menu(self, cid, mode, page=1, page_token=''):
101103
"""
@@ -124,7 +126,8 @@ def build_youtube_channel_menu(self, cid, mode, page=1, page_token=''):
124126
self.srgssr.addon_id, self.srgssr.debug).build_channel_menu(
125127
cid, page_token=page_token)
126128
if next_page_token:
127-
next_item = xbmcgui.ListItem(label='>> ' + self.srgssr.language(30073))
129+
next_item = xbmcgui.ListItem(
130+
label='>> ' + self.srgssr.language(30073))
128131
next_url = self.srgssr.build_url(
129132
mode=mode, name=cid, page_hash=next_page_token)
130133
next_item.setProperty('IsPlayable', 'false')
@@ -148,12 +151,13 @@ def build_youtube_newest_videos_menu(self, mode, page=1):
148151

149152
channel_ids = self.get_youtube_channel_ids()
150153
next_page = youtube_channels.YoutubeChannels(
151-
self.handle, channel_ids,
152-
self.srgssr.addon_id, self.srgssr.debug).build_newest_videos(page=page)
154+
self.handle, channel_ids,
155+
self.srgssr.addon_id, self.srgssr.debug
156+
).build_newest_videos(page=page)
153157
if next_page:
154-
next_item = xbmcgui.ListItem(label='>> ' + self.srgssr.language(30073))
158+
next_item = xbmcgui.ListItem(
159+
label='>> ' + self.srgssr.language(30073))
155160
next_url = self.srgssr.build_url(mode=mode, page=next_page)
156161
next_item.setProperty('IsPlayable', 'false')
157162
xbmcplugin.addDirectoryItem(
158163
self.handle, next_url, next_item, isFolder=True)
159-

0 commit comments

Comments
 (0)