X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=resources%2Flib%2FKodiHelper.py;h=b07efaf3cb4b3d95eec40e85f165ca9692e4f64a;hb=704e5074a80f1fd24589c822c1fd5ad11f3b5a7d;hp=44d992bfae5ad67b678a22339b833748e907a233;hpb=b0976bc1b439d881585d37a79e3ea60fbeefa306;p=plugin.video.netflix.git diff --git a/resources/lib/KodiHelper.py b/resources/lib/KodiHelper.py index 44d992b..b07efaf 100644 --- a/resources/lib/KodiHelper.py +++ b/resources/lib/KodiHelper.py @@ -18,9 +18,6 @@ except: class KodiHelper: """Consumes all the configuration data from Kodi as well as turns data into lists of folders and videos""" - msl_service_server_url = 'http://localhost:%PORT%' - """str: MSL service url""" - def __init__ (self, plugin_handle, base_url): """Fetches all needed info from Kodi & configures the baseline of the plugin @@ -42,6 +39,7 @@ class KodiHelper: self.cookie_path = self.base_data_path + 'COOKIE' self.data_path = self.base_data_path + 'DATA' self.config_path = os.path.join(self.base_data_path, 'config') + self.msl_data_path = xbmc.translatePath('special://profile/addon_data/service.msl').decode('utf-8') + '/' self.verb_log = self.addon.getSetting('logging') == 'true' self.default_fanart = self.addon.getAddonInfo('fanart') self.win = xbmcgui.Window(xbmcgui.getCurrentWindowId()) @@ -63,17 +61,6 @@ class KodiHelper: dlg = xbmcgui.Dialog() return dlg.numeric(heading=self.get_local_string(string_id=30019) + ' ' + self.get_local_string(string_id=30022), type=0) - def show_adult_pin_dialog (self): - """Asks the user for the adult pin - - Returns - ------- - :obj:`int` - 4 digit adult pin needed for adult movies - """ - dlg = xbmcgui.Dialog() - return dlg.input(self.get_local_string(string_id=30002), type=xbmcgui.INPUT_NUMERIC) - def show_search_term_dialog (self): """Asks the user for a term to query the netflix search for @@ -126,18 +113,6 @@ class KodiHelper: dlg = xbmcgui.Dialog() return dlg.input(self.get_local_string(string_id=30005), type=xbmcgui.INPUT_ALPHANUM) - def show_wrong_adult_pin_notification (self): - """Shows notification that a wrong adult pin was given - - Returns - ------- - bool - Dialog shown - """ - dialog = xbmcgui.Dialog() - dialog.notification(self.get_local_string(string_id=30006), self.get_local_string(string_id=30007), xbmcgui.NOTIFICATION_ERROR, 5000) - return True - def show_login_failed_notification (self): """Shows notification that the login failed @@ -434,9 +409,7 @@ class KodiHelper: if video_list[video_list_id]['type'] == 'movie': # it´s a movie, so we need no subfolder & a route to play it isFolder = False - # check maturity index, to determine if we need the adult pin - needs_pin = (True, False)[int(video['maturity']['level']) >= 1000] - url = build_url({'action': 'play_video', 'video_id': video_list_id, 'pin': needs_pin}) + url = build_url({'action': 'play_video', 'video_id': video_list_id}) # add list item info li = self._generate_entry_info(entry=video, li=li) li = self._generate_context_menu_items(entry=video, li=li) @@ -559,7 +532,7 @@ class KodiHelper: for index in seasons_sorted: for season_id in season_list: season = season_list[season_id] - if int(season['shortName'].split(' ')[1]) == index: + if int(season['id']) == index: li = xbmcgui.ListItem(label=season['text']) # add some art to the item li = self._generate_art_info(entry=season, li=li) @@ -606,9 +579,7 @@ class KodiHelper: # add list item info li = self._generate_entry_info(entry=episode, li=li, base_info={'mediatype': 'episode'}) li = self._generate_context_menu_items(entry=episode, li=li) - # check maturity index, to determine if we need the adult pin - needs_pin = (True, False)[int(episode['maturity']['rating']['maturityLevel']) >= 1000] - url = build_url({'action': 'play_video', 'video_id': episode_id, 'pin': needs_pin, 'start_offset': episode['bookmark']}) + url = build_url({'action': 'play_video', 'video_id': episode_id, 'start_offset': episode['bookmark']}) xbmcplugin.addDirectoryItem(handle=self.plugin_handle, url=url, listitem=li, isFolder=False) xbmcplugin.addSortMethod(handle=self.plugin_handle, sortMethod=xbmcplugin.SORT_METHOD_EPISODE) @@ -647,17 +618,19 @@ class KodiHelper: return False # inputstream addon properties - msl_service_url = self.msl_service_server_url.replace('%PORT%', str(self.addon.getSetting('msl_service_port'))) + msl_service_url = 'http://localhost:' + str(self.addon.getSetting('msl_service_port')) play_item = xbmcgui.ListItem(path=msl_service_url + '/manifest?id=' + video_id) play_item.setProperty(inputstream_addon + '.license_type', 'com.widevine.alpha') play_item.setProperty(inputstream_addon + '.manifest_type', 'mpd') play_item.setProperty(inputstream_addon + '.license_key', msl_service_url + '/license?id=' + video_id + '||b{SSM}!b{SID}|') - play_item.setProperty(inputstream_addon + '.server_certificate', self.addon.getSetting('msl_service_certificate')) + play_item.setProperty(inputstream_addon + '.server_certificate', 'Cr0CCAMSEOVEukALwQ8307Y2+LVP+0MYh/HPkwUijgIwggEKAoIBAQDm875btoWUbGqQD8eAGuBlGY+Pxo8YF1LQR+Ex0pDONMet8EHslcZRBKNQ/09RZFTP0vrYimyYiBmk9GG+S0wB3CRITgweNE15cD33MQYyS3zpBd4z+sCJam2+jj1ZA4uijE2dxGC+gRBRnw9WoPyw7D8RuhGSJ95OEtzg3Ho+mEsxuE5xg9LM4+Zuro/9msz2bFgJUjQUVHo5j+k4qLWu4ObugFmc9DLIAohL58UR5k0XnvizulOHbMMxdzna9lwTw/4SALadEV/CZXBmswUtBgATDKNqjXwokohncpdsWSauH6vfS6FXwizQoZJ9TdjSGC60rUB2t+aYDm74cIuxAgMBAAE6EHRlc3QubmV0ZmxpeC5jb20SgAOE0y8yWw2Win6M2/bw7+aqVuQPwzS/YG5ySYvwCGQd0Dltr3hpik98WijUODUr6PxMn1ZYXOLo3eED6xYGM7Riza8XskRdCfF8xjj7L7/THPbixyn4mULsttSmWFhexzXnSeKqQHuoKmerqu0nu39iW3pcxDV/K7E6aaSr5ID0SCi7KRcL9BCUCz1g9c43sNj46BhMCWJSm0mx1XFDcoKZWhpj5FAgU4Q4e6f+S8eX39nf6D6SJRb4ap7Znzn7preIvmS93xWjm75I6UBVQGo6pn4qWNCgLYlGGCQCUm5tg566j+/g5jvYZkTJvbiZFwtjMW5njbSRwB3W4CrKoyxw4qsJNSaZRTKAvSjTKdqVDXV/U5HK7SaBA6iJ981/aforXbd2vZlRXO/2S+Maa2mHULzsD+S5l4/YGpSt7PnkCe25F+nAovtl/ogZgjMeEdFyd/9YMYjOS4krYmwp3yJ7m9ZzYCQ6I8RQN4x/yLlHG5RH/+WNLNUs6JAZ0fFdCmw=') + # TODO: Change when Kodi can handle/trnsfer defaults in hidden values in settings + #play_item.setProperty(inputstream_addon + '.server_certificate', self.addon.getSetting('msl_service_certificate')) play_item.setProperty('inputstreamaddon', inputstream_addon) # check if we have a bookmark e.g. start offset position if int(start_offset) > 0: - play_item.setProperty('StartOffset', str(start_offset)) + play_item.setProperty('StartOffset', str(start_offset) + '.0') return xbmcplugin.setResolvedUrl(self.plugin_handle, True, listitem=play_item) def _generate_art_info (self, entry, li):