X-Git-Url: http://git.code-monkey.de/?p=plugin.video.netflix.git;a=blobdiff_plain;f=resources%2Flib%2FKodiHelper.py;h=4407b87e4e19a51a4f535d51a120f9ab6a906d71;hp=8288cb5b0342d016c8cc2cda25d81081ac939d5f;hb=69bafa3b4cb738c563f3cc8f7affe7b4fa8e91ea;hpb=08aa1fe9088e94596cbd40055bf63457a7617db8 diff --git a/resources/lib/KodiHelper.py b/resources/lib/KodiHelper.py index 8288cb5..4407b87 100644 --- a/resources/lib/KodiHelper.py +++ b/resources/lib/KodiHelper.py @@ -3,14 +3,14 @@ # Module: KodiHelper # Created on: 13.01.2017 -import os -import urllib import xbmcplugin import xbmcgui -import xbmcaddon import xbmc import json -import uuid +from os.path import join +from urllib import urlencode +from xbmcaddon import Addon +from uuid import uuid4 from UniversalAnalytics import Tracker try: import cPickle as pickle @@ -20,7 +20,7 @@ except: class KodiHelper: """Consumes all the configuration data from Kodi as well as turns data into lists of folders and videos""" - def __init__ (self, plugin_handle, base_url): + def __init__ (self, plugin_handle=None, base_url=None): """Fetches all needed info from Kodi & configures the baseline of the plugin Parameters @@ -33,14 +33,14 @@ class KodiHelper: """ self.plugin_handle = plugin_handle self.base_url = base_url - self.addon = xbmcaddon.Addon() + self.addon = Addon() self.plugin = self.addon.getAddonInfo('name') self.base_data_path = xbmc.translatePath(self.addon.getAddonInfo('profile')) self.home_path = xbmc.translatePath('special://home') self.plugin_path = self.addon.getAddonInfo('path') 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.config_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') @@ -649,6 +649,11 @@ class KodiHelper: # track play event self.track_event('playVideo') + # check esn in settings + settings_esn = str(self.addon.getSetting('esn')) + if len(settings_esn) == 0: + self.addon.setSetting('esn', str(esn)) + # inputstream addon properties msl_service_url = 'http://localhost:' + str(self.addon.getSetting('msl_service_port')) play_item = xbmcgui.ListItem(path=msl_service_url + '/manifest?id=' + video_id) @@ -656,8 +661,6 @@ class KodiHelper: 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', '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 @@ -798,7 +801,7 @@ class KodiHelper: entry_keys = entry.keys() # action item templates - encoded_title = urllib.urlencode({'title': entry['title'].encode('utf-8')}) if 'title' in entry else '' + encoded_title = urlencode({'title': entry['title'].encode('utf-8')}) if 'title' in entry else '' url_tmpl = 'XBMC.RunPlugin(' + self.base_url + '?action=%action%&id=' + str(entry['id']) + '&' + encoded_title + ')' actions = [ ['export_to_library', self.get_local_string(30018), 'export'], @@ -919,7 +922,7 @@ class KodiHelper: #Get or Create Tracking id tracking_id = self.addon.getSetting('tracking_id') if tracking_id is '': - tracking_id = str(uuid.uuid4()) + tracking_id = str(uuid4()) self.addon.setSetting('tracking_id', tracking_id) # Send the tracking event tracker = Tracker.create('UA-46081640-5', client_id=tracking_id)