from urllib import urlencode
from xbmcaddon import Addon
from uuid import uuid4
+from utils import get_user_agent_for_current_platform
from UniversalAnalytics import Tracker
try:
import cPickle as pickle
"""
Returns the esn from settings
"""
+ self.log(msg='Is FILE: ' + str(isfile(self.msl_data_path + 'msl_data.json')))
+ self.log(msg=self.get_addon().getSetting('esn'))
return self.get_addon().getSetting('esn')
def set_esn(self, esn):
"""
Returns the esn from settings
"""
- stored_esn = self.get_esn()
- if not stored_esn:
+ stored_esn = self.get_esn()
+ if not stored_esn and esn:
self.set_setting('esn', esn)
self.delete_manifest_data()
return esn
if isfile(self.msl_data_path + 'manifest.json'):
remove(self.msl_data_path + 'manifest.json')
msl = MSL(kodi_helper=self)
+ msl.perform_key_handshake()
msl.save_msl_data()
def get_dolby_setting(self):
bool
List could be build
"""
+ self.set_esn(esn)
addon = self.get_addon()
inputstream_addon = self.get_inputstream_addon()
if inputstream_addon == None:
# inputstream addon properties
msl_service_url = 'http://localhost:' + str(addon.getSetting('msl_service_port'))
play_item = xbmcgui.ListItem(path=msl_service_url + '/manifest?id=' + video_id)
+ play_item.setContentLookup(False)
+ play_item.setMimeType('application/dash+xml')
+ play_item.setProperty(inputstream_addon + '.stream_headers', 'user-agent=' + get_user_agent_for_current_platform())
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}|')
if 'mpaa' in entry_keys:
infos.update({'mpaa': entry['mpaa']})
else:
- infos.update({'mpaa': str(entry['maturity']['board']) + '-' + str(entry['maturity']['value'])})
+ if entry.get('maturity', None) is not None:
+ if entry['maturity']['board'] is not None and entry['maturity']['value'] is not None:
+ infos.update({'mpaa': str(entry['maturity']['board'].encode('utf-8')) + '-' + str(entry['maturity']['value'].encode('utf-8'))})
if 'rating' in entry_keys:
infos.update({'rating': int(entry['rating']) * 2})
if 'synopsis' in entry_keys: