|
7 | 7 | import xbmcgui |
8 | 8 | import xbmc |
9 | 9 | import json |
10 | | -from os.path import join |
| 10 | +from MSL import MSL |
| 11 | +from os import remove |
| 12 | +from os.path import join, isfile |
11 | 13 | from urllib import urlencode |
12 | 14 | from xbmcaddon import Addon |
13 | 15 | from uuid import uuid4 |
@@ -190,6 +192,34 @@ def get_credentials (self): |
190 | 192 | 'password': self.get_addon().getSetting('password') |
191 | 193 | } |
192 | 194 |
|
| 195 | + def get_esn(self): |
| 196 | + """ |
| 197 | + Returns the esn from settings |
| 198 | + """ |
| 199 | + self.log(msg='Is FILE: ' + str(isfile(self.msl_data_path + 'msl_data.json'))) |
| 200 | + self.log(msg=self.get_addon().getSetting('esn')) |
| 201 | + return self.get_addon().getSetting('esn') |
| 202 | + |
| 203 | + def set_esn(self, esn): |
| 204 | + """ |
| 205 | + Returns the esn from settings |
| 206 | + """ |
| 207 | + stored_esn = self.get_esn() |
| 208 | + if not stored_esn and esn: |
| 209 | + self.set_setting('esn', esn) |
| 210 | + self.delete_manifest_data() |
| 211 | + return esn |
| 212 | + return stored_esn |
| 213 | + |
| 214 | + def delete_manifest_data(self): |
| 215 | + if isfile(self.msl_data_path + 'msl_data.json'): |
| 216 | + remove(self.msl_data_path + 'msl_data.json') |
| 217 | + if isfile(self.msl_data_path + 'manifest.json'): |
| 218 | + remove(self.msl_data_path + 'manifest.json') |
| 219 | + msl = MSL(kodi_helper=self) |
| 220 | + msl.perform_key_handshake() |
| 221 | + msl.save_msl_data() |
| 222 | + |
193 | 223 | def get_dolby_setting(self): |
194 | 224 | """ |
195 | 225 | Returns if the dolby sound is enabled |
@@ -644,6 +674,7 @@ def play_item (self, esn, video_id, start_offset=-1): |
644 | 674 | bool |
645 | 675 | List could be build |
646 | 676 | """ |
| 677 | + self.set_esn(esn) |
647 | 678 | addon = self.get_addon() |
648 | 679 | inputstream_addon = self.get_inputstream_addon() |
649 | 680 | if inputstream_addon == None: |
@@ -744,7 +775,9 @@ def _generate_entry_info (self, entry, li, base_info={}): |
744 | 775 | if 'mpaa' in entry_keys: |
745 | 776 | infos.update({'mpaa': entry['mpaa']}) |
746 | 777 | else: |
747 | | - infos.update({'mpaa': str(entry['maturity']['board']) + '-' + str(entry['maturity']['value'])}) |
| 778 | + if entry.get('maturity', None) is not None: |
| 779 | + if entry['maturity']['board'] is not None and entry['maturity']['value'] is not None: |
| 780 | + infos.update({'mpaa': str(entry['maturity']['board'].encode('utf-8')) + '-' + str(entry['maturity']['value'].encode('utf-8'))}) |
748 | 781 | if 'rating' in entry_keys: |
749 | 782 | infos.update({'rating': int(entry['rating']) * 2}) |
750 | 783 | if 'synopsis' in entry_keys: |
|
0 commit comments