From 48c993a4e7833cf15e7e485ebce6fc1495d03c1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Arnauts?= Date: Fri, 21 Jul 2023 22:28:50 +0200 Subject: [PATCH] Fix pylint warnings/errors --- .pylintrc | 1 + resources/lib/kodiutils.py | 22 ++--- resources/lib/modules/iptvmanager.py | 49 +++++------ resources/lib/modules/menu.py | 84 +++++++++---------- resources/lib/modules/player.py | 2 +- resources/lib/viervijfzes/__init__.py | 112 ++++++++++++-------------- resources/lib/viervijfzes/auth.py | 10 +-- resources/lib/viervijfzes/content.py | 10 +-- 8 files changed, 140 insertions(+), 150 deletions(-) diff --git a/.pylintrc b/.pylintrc index 248d282..283b504 100644 --- a/.pylintrc +++ b/.pylintrc @@ -18,6 +18,7 @@ disable= use-maxsplit-arg, consider-using-from-import, unspecified-encoding, + broad-exception-raised, super-with-arguments, # Python 2.7 compatibility raise-missing-from, # Python 2.7 compatibility diff --git a/resources/lib/kodiutils.py b/resources/lib/kodiutils.py index b4b2886..bdf7e69 100644 --- a/resources/lib/kodiutils.py +++ b/resources/lib/kodiutils.py @@ -21,15 +21,15 @@ except ImportError: # Python 2 ADDON = xbmcaddon.Addon() -SORT_METHODS = dict( - unsorted=xbmcplugin.SORT_METHOD_UNSORTED, - label=xbmcplugin.SORT_METHOD_LABEL_IGNORE_FOLDERS, - title=xbmcplugin.SORT_METHOD_TITLE, - episode=xbmcplugin.SORT_METHOD_EPISODE, - duration=xbmcplugin.SORT_METHOD_DURATION, - year=xbmcplugin.SORT_METHOD_VIDEO_YEAR, - date=xbmcplugin.SORT_METHOD_DATE, -) +SORT_METHODS = { + 'unsorted': xbmcplugin.SORT_METHOD_UNSORTED, + 'label': xbmcplugin.SORT_METHOD_LABEL_IGNORE_FOLDERS, + 'title': xbmcplugin.SORT_METHOD_TITLE, + 'episode': xbmcplugin.SORT_METHOD_EPISODE, + 'duration': xbmcplugin.SORT_METHOD_DURATION, + 'year': xbmcplugin.SORT_METHOD_VIDEO_YEAR, + 'date': xbmcplugin.SORT_METHOD_DATE +} DEFAULT_SORT_METHODS = [ 'unsorted', 'title' ] @@ -469,13 +469,13 @@ def open_settings(): def get_global_setting(key): """Get a Kodi setting""" - result = jsonrpc(method='Settings.GetSettingValue', params=dict(setting=key)) + result = jsonrpc(method='Settings.GetSettingValue', params={'setting': key}) return result.get('result', {}).get('value') def set_global_setting(key, value): """Set a Kodi setting""" - return jsonrpc(method='Settings.SetSettingValue', params=dict(setting=key, value=value)) + return jsonrpc(method='Settings.SetSettingValue', params={'setting': key, 'value': value}) def get_cond_visibility(condition): diff --git a/resources/lib/modules/iptvmanager.py b/resources/lib/modules/iptvmanager.py index a5e7f54..84f9589 100644 --- a/resources/lib/modules/iptvmanager.py +++ b/resources/lib/modules/iptvmanager.py @@ -42,17 +42,17 @@ class IPTVManager: streams = [] for key, channel in CHANNELS.items(): if channel.get('iptv_id'): - streams.append(dict( - id=channel.get('iptv_id'), - name=channel.get('name'), - logo='special://home/addons/{addon}/resources/logos/{logo}'.format(addon=kodiutils.addon_id(), - logo=channel.get('logo')), - preset=channel.get('iptv_preset'), - stream='plugin://plugin.video.viervijfzes/play/live/{channel}'.format(channel=key), - vod='plugin://plugin.video.viervijfzes/play/epg/{channel}/{{date}}'.format(channel=key) - )) + streams.append({ + 'id': channel.get('iptv_id'), + 'name': channel.get('name'), + 'logo': 'special://home/addons/{addon}/resources/logos/{logo}'.format(addon=kodiutils.addon_id(), + logo=channel.get('logo')), + 'preset': channel.get('iptv_preset'), + 'stream': 'plugin://plugin.video.viervijfzes/play/live/{channel}'.format(channel=key), + 'vod': 'plugin://plugin.video.viervijfzes/play/epg/{channel}/{{date}}'.format(channel=key) + }) - return dict(version=1, streams=streams) + return {'version': 1, 'streams': streams} @via_socket def send_epg(): # pylint: disable=no-method-argument @@ -78,20 +78,21 @@ class IPTVManager: epg = epg_api.get_epg(key, date.strftime('%Y-%m-%d')) results[iptv_id].extend([ - dict( - start=program.start.isoformat(), - stop=(program.start + timedelta(seconds=program.duration)).isoformat(), - title=program.program_title, - subtitle=program.episode_title, - description=program.description, - episode='S%sE%s' % (program.season, program.number) if program.season and program.number else None, - genre=program.genre, - genre_id=program.genre_id, - image=program.thumb, - stream=kodiutils.url_for('play_from_page', - channel=key, - page=quote(program.video_url, safe='')) if program.video_url else None) + { + 'start': program.start.isoformat(), + 'stop': (program.start + timedelta(seconds=program.duration)).isoformat(), + 'title': program.program_title, + 'subtitle': program.episode_title, + 'description': program.description, + 'episode': 'S%sE%s' % (program.season, program.number) if program.season and program.number else None, + 'genre': program.genre, + 'genre_id': program.genre_id, + 'image': program.thumb, + 'stream': kodiutils.url_for('play_from_page', + channel=key, + page=quote(program.video_url, safe='')) if program.video_url else None + } for program in epg if program.duration ]) - return dict(version=1, epg=results) + return {'version': 1, 'epg': results} diff --git a/resources/lib/modules/menu.py b/resources/lib/modules/menu.py index d434e7e..0bacfff 100644 --- a/resources/lib/modules/menu.py +++ b/resources/lib/modules/menu.py @@ -31,68 +31,68 @@ class Menu: TitleItem( title=kodiutils.localize(30001), # A-Z path=kodiutils.url_for('show_catalog'), - art_dict=dict( - icon='DefaultMovieTitle.png', - fanart=kodiutils.get_addon_info('fanart'), - ), - info_dict=dict( - plot=kodiutils.localize(30002), - ) + art_dict={ + 'icon': 'DefaultMovieTitle.png', + 'fanart': kodiutils.get_addon_info('fanart') + }, + info_dict={ + 'plot': kodiutils.localize(30002) + } ), TitleItem( title=kodiutils.localize(30007), # TV Channels path=kodiutils.url_for('show_channels'), - art_dict=dict( - icon='DefaultAddonPVRClient.png', - fanart=kodiutils.get_addon_info('fanart'), - ), - info_dict=dict( - plot=kodiutils.localize(30008), - ) + art_dict={ + 'icon': 'DefaultAddonPVRClient.png', + 'fanart': kodiutils.get_addon_info('fanart') + }, + info_dict={ + 'plot': kodiutils.localize(30008) + } ), TitleItem( title=kodiutils.localize(30003), # Catalog path=kodiutils.url_for('show_categories'), - art_dict=dict( - icon='DefaultGenre.png', - fanart=kodiutils.get_addon_info('fanart'), - ), - info_dict=dict( - plot=kodiutils.localize(30004), - ) + art_dict={ + 'icon': 'DefaultGenre.png', + 'fanart': kodiutils.get_addon_info('fanart') + }, + info_dict={ + 'plot': kodiutils.localize(30004) + } ), TitleItem( title=kodiutils.localize(30005), # Recommendations path=kodiutils.url_for('show_recommendations'), - art_dict=dict( - icon='DefaultFavourites.png', - fanart=kodiutils.get_addon_info('fanart'), - ), - info_dict=dict( - plot=kodiutils.localize(30006), - ) + art_dict={ + 'icon': 'DefaultFavourites.png', + 'fanart': kodiutils.get_addon_info('fanart') + }, + info_dict={ + 'plot': kodiutils.localize(30006) + } ), TitleItem( title=kodiutils.localize(30011), # My List path=kodiutils.url_for('show_mylist'), - art_dict=dict( - icon='DefaultPlaylist.png', - fanart=kodiutils.get_addon_info('fanart'), - ), - info_dict=dict( - plot=kodiutils.localize(30012), - ) + art_dict={ + 'icon': 'DefaultPlaylist.png', + 'fanart': kodiutils.get_addon_info('fanart') + }, + info_dict={ + 'plot': kodiutils.localize(30012) + } ), TitleItem( title=kodiutils.localize(30009), # Search path=kodiutils.url_for('show_search'), - art_dict=dict( - icon='DefaultAddonsSearch.png', - fanart=kodiutils.get_addon_info('fanart'), - ), - info_dict=dict( - plot=kodiutils.localize(30010), - ) + art_dict={ + 'icon': 'DefaultAddonsSearch.png', + 'fanart': kodiutils.get_addon_info('fanart') + }, + info_dict={ + 'plot': kodiutils.localize(30010) + } ) ] diff --git a/resources/lib/modules/player.py b/resources/lib/modules/player.py index 3d2e466..5497f93 100644 --- a/resources/lib/modules/player.py +++ b/resources/lib/modules/player.py @@ -38,7 +38,7 @@ class Player: # self.play_from_page(broadcast.video_url) # return - channel_name = CHANNELS.get(channel, dict(name=channel)) + channel_name = CHANNELS.get(channel, {'name': channel}) kodiutils.ok_dialog(message=kodiutils.localize(30718, channel=channel_name.get('name'))) # There is no live stream available for {channel}. kodiutils.end_of_directory() diff --git a/resources/lib/viervijfzes/__init__.py b/resources/lib/viervijfzes/__init__.py index 46cb626..91fe30b 100644 --- a/resources/lib/viervijfzes/__init__.py +++ b/resources/lib/viervijfzes/__init__.py @@ -5,68 +5,56 @@ from __future__ import absolute_import, division, unicode_literals from collections import OrderedDict CHANNELS = OrderedDict([ - ('Play4', dict( - name='Play4', - epg_id='vier', - logo='play4.png', - background='play4-background.png', - iptv_preset=4, - iptv_id='play4.be', - youtube=[ - dict( - label='GoPlay', - logo='goplay.png', - path='plugin://plugin.video.youtube/user/viertv/', - ), - ], - )), - ('Play5', dict( - name='Play5', - epg_id='vijf', - logo='play5.png', - background='play5-background.png', - iptv_preset=5, - iptv_id='play5.be', - youtube=[ - dict( - label='GoPlay', - logo='goplay.png', - path='plugin://plugin.video.youtube/user/viertv/', - ), - ], - )), - ('Play6', dict( - name='Play6', - epg_id='zes', - logo='play6.png', - background='play6-background.png', - iptv_preset=6, - iptv_id='play6.be', - youtube=[ - dict( - label='GoPlay', - logo='goplay.png', - path='plugin://plugin.video.youtube/user/viertv/', - ), - ], - )), - ('Play7', dict( - name='Play7', - epg_id='zeven', - url='https://www.goplay.be', - logo='play7.png', - background='play7-background.png', - iptv_preset=17, - iptv_id='play7.be', - youtube=[], - )), - ('GoPlay', dict( - name='Go Play', - url='https://www.goplay.be', - logo='goplay.png', - background='goplay-background.png', - youtube=[], - )) + ('Play4', { + 'name': 'Play4', + 'epg_id': 'vier', + 'logo': 'play4.png', + 'background': 'play4-background.png', + 'iptv_preset': 4, + 'iptv_id': 'play4.be', + 'youtube': [ + {'label': 'GoPlay', 'logo': 'goplay.png', 'path': 'plugin://plugin.video.youtube/user/viertv/'}, + ] + }), + ('Play5', { + 'name': 'Play5', + 'epg_id': 'vijf', + 'logo': 'play5.png', + 'background': 'play5-background.png', + 'iptv_preset': 5, + 'iptv_id': 'play5.be', + 'youtube': [ + {'label': 'GoPlay', 'logo': 'goplay.png', 'path': 'plugin://plugin.video.youtube/user/viertv/'}, + ] + }), + ('Play6', { + 'name': 'Play6', + 'epg_id': 'zes', + 'logo': 'play6.png', + 'background': 'play6-background.png', + 'iptv_preset': 6, + 'iptv_id': 'play6.be', + 'youtube': [ + {'label': 'GoPlay', 'logo': 'goplay.png', 'path': 'plugin://plugin.video.youtube/user/viertv/'}, + ] + }), + ('Play7', { + 'name': 'Play7', + 'epg_id': 'zeven', + 'url': 'https://www.goplay.be', + 'logo': 'play7.png', + 'background': 'play7-background.png', + 'iptv_preset': 17, + 'iptv_id': 'play7.be', + 'youtube': [] + }), + ('GoPlay', { + 'name': 'Go Play', + 'url': 'https://www.goplay.be', + 'logo': 'goplay.png', + 'background': 'goplay-background.png', + 'youtube': [] + }) ]) STREAM_DICT = { diff --git a/resources/lib/viervijfzes/auth.py b/resources/lib/viervijfzes/auth.py index 04dfa46..ed31d61 100644 --- a/resources/lib/viervijfzes/auth.py +++ b/resources/lib/viervijfzes/auth.py @@ -79,11 +79,11 @@ class AuthApi: if not os.path.exists(self._token_path): os.makedirs(self._token_path) with open(os.path.join(self._token_path, self.TOKEN_FILE), 'w') as fdesc: - data = json.dumps(dict( - id_token=self._id_token, - refresh_token=self._refresh_token, - expiry=self._expiry, - )) + data = json.dumps({ + 'id_token': self._id_token, + 'refresh_token': self._refresh_token, + 'expiry': self._expiry + }) fdesc.write(kodiutils.from_unicode(data)) return self._id_token diff --git a/resources/lib/viervijfzes/content.py b/resources/lib/viervijfzes/content.py index 097b2bf..7c0c2f7 100644 --- a/resources/lib/viervijfzes/content.py +++ b/resources/lib/viervijfzes/content.py @@ -312,7 +312,7 @@ class ContentApi: video_id = json.loads(unescape(result.group(1)))['id'] video_json_data = self._get_url('%s/web/v1/videos/short-form/%s' % (self.API_GOPLAY, video_id)) video_json = json.loads(video_json_data) - return dict(video=video_json) + return {'video': video_json} # Extract program JSON regex_program = re.compile(r'data-hero="([^"]+)', re.DOTALL) @@ -328,7 +328,7 @@ class ContentApi: episode_json_data = unescape(result.group(1)) episode_json = json.loads(episode_json_data) - return dict(program=program_json, episode=episode_json) + return {'program': program_json, 'episode': episode_json} # Fetch listing from cache or update if needed data = self._handle_cache(key=['episode', path], cache_mode=cache, update=update) @@ -370,9 +370,9 @@ class ContentApi: # See https://docs.unified-streaming.com/documentation/drm/buydrm.html#setting-up-the-client # Generate license key - license_key = self.create_license_key('https://wv-keyos.licensekeyserver.com/', key_headers=dict( - customdata=data['drmXml'], - )) + license_key = self.create_license_key('https://wv-keyos.licensekeyserver.com/', key_headers={ + 'customdata': data['drmXml'] + }) # Get manifest url if data.get('manifestUrls'):