projects
/
plugin.video.netflix.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
6f549b2
)
fix(user-handling): Fixes user profile switching
author
Sebastian Golasch
<public@asciidisco.com>
Sat, 4 Mar 2017 20:12:19 +0000
(21:12 +0100)
committer
Sebastian Golasch
<public@asciidisco.com>
Sat, 4 Mar 2017 20:12:19 +0000
(21:12 +0100)
addon.xml
patch
|
blob
|
history
resources/language/English/strings.po
patch
|
blob
|
history
resources/language/German/strings.po
patch
|
blob
|
history
resources/lib/KodiHelper.py
patch
|
blob
|
history
resources/lib/NetflixSession.py
patch
|
blob
|
history
diff --git
a/addon.xml
b/addon.xml
index ee92afd0027546eb082ffb9b61e1b9ef6a103c42..522d5a7ccf05e0a7e153031b9894ec587d74cac9 100644
(file)
--- a/
addon.xml
+++ b/
addon.xml
@@
-1,5
+1,5
@@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
-<addon id="plugin.video.netflix" name="Netflix" version="0.9.
6
" provider-name="libdev + jojo + asciidisco">
+<addon id="plugin.video.netflix" name="Netflix" version="0.9.
7
" provider-name="libdev + jojo + asciidisco">
<requires>
<import addon="xbmc.python" version="2.24.0"/>
<import addon="script.module.beautifulsoup4" version="4.3.2"/>
<requires>
<import addon="xbmc.python" version="2.24.0"/>
<import addon="script.module.beautifulsoup4" version="4.3.2"/>
diff --git
a/resources/language/English/strings.po
b/resources/language/English/strings.po
index 6b35607df8d34037e7cf328ba93c50ba7b33800b..832306563fd687f84300353abf80b488a9bc2f02 100644
(file)
--- a/
resources/language/English/strings.po
+++ b/
resources/language/English/strings.po
@@
-1,8
+1,8
@@
# Kodi Media Center language file
# Addon Name: Netflix
# Addon id: plugin.video.netflix
# Kodi Media Center language file
# Addon Name: Netflix
# Addon id: plugin.video.netflix
-# Addon version: 0.9.
6
-# Addon Provider:
tba.
+# Addon version: 0.9.
7
+# Addon Provider:
libdev + jojo + asciidisco
msgid ""
msgstr ""
"Project-Id-Version: XBMC-Addons\n"
msgid ""
msgstr ""
"Project-Id-Version: XBMC-Addons\n"
diff --git
a/resources/language/German/strings.po
b/resources/language/German/strings.po
index 5cf094d7a3cf7628840ca8bedc7d77e43e5f0bfe..736bed1400f360b2f449cb11197215e747f52259 100644
(file)
--- a/
resources/language/German/strings.po
+++ b/
resources/language/German/strings.po
@@
-1,8
+1,8
@@
# Kodi Media Center language file
# Addon Name: Netflix
# Addon id: plugin.video.netflix
# Kodi Media Center language file
# Addon Name: Netflix
# Addon id: plugin.video.netflix
-# Addon version: 0.9.
6
-# Addon Provider:
tba.
+# Addon version: 0.9.
7
+# Addon Provider:
libdev + jojo + asciidisco
msgid ""
msgstr ""
"Project-Id-Version: XBMC-Addons\n"
msgid ""
msgstr ""
"Project-Id-Version: XBMC-Addons\n"
diff --git
a/resources/lib/KodiHelper.py
b/resources/lib/KodiHelper.py
index 43b5187e04cd07f835f62d22b5991f4ee2ef80dc..8288cb5b0342d016c8cc2cda25d81081ac939d5f 100644
(file)
--- a/
resources/lib/KodiHelper.py
+++ b/
resources/lib/KodiHelper.py
@@
-44,12
+44,11
@@
class KodiHelper:
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.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())
self.library = None
self.setup_memcache()
def refresh (self):
self.library = None
self.setup_memcache()
def refresh (self):
- """Refrsh the current list"""
+ """Refr
e
sh the current list"""
return xbmc.executebuiltin('Container.Refresh')
def show_rating_dialog (self):
return xbmc.executebuiltin('Container.Refresh')
def show_rating_dialog (self):
@@
-224,7
+223,7
@@
class KodiHelper:
type : :obj:`str`
Selected menu item
"""
type : :obj:`str`
Selected menu item
"""
-
self.win
.setProperty('main_menu_selection', type)
+
xbmcgui.Window(xbmcgui.getCurrentWindowId())
.setProperty('main_menu_selection', type)
def get_main_menu_selection (self):
"""Gets the persisted chosen main menu entry from memory
def get_main_menu_selection (self):
"""Gets the persisted chosen main menu entry from memory
@@
-234,18
+233,18
@@
class KodiHelper:
:obj:`str`
The last chosen main menu entry
"""
:obj:`str`
The last chosen main menu entry
"""
- return
self.win
.getProperty('main_menu_selection')
+ return
xbmcgui.Window(xbmcgui.getCurrentWindowId())
.getProperty('main_menu_selection')
def setup_memcache (self):
"""Sets up the memory cache if not existant"""
def setup_memcache (self):
"""Sets up the memory cache if not existant"""
- cached_items =
self.win
.getProperty('memcache')
+ cached_items =
xbmcgui.Window(xbmcgui.getCurrentWindowId())
.getProperty('memcache')
# no cache setup yet, create one
if len(cached_items) < 1:
# no cache setup yet, create one
if len(cached_items) < 1:
-
self.win
.setProperty('memcache', pickle.dumps({}))
+
xbmcgui.Window(xbmcgui.getCurrentWindowId())
.setProperty('memcache', pickle.dumps({}))
def invalidate_memcache (self):
"""Invalidates the memory cache"""
def invalidate_memcache (self):
"""Invalidates the memory cache"""
-
self.win
.setProperty('memcache', pickle.dumps({}))
+
xbmcgui.Window(xbmcgui.getCurrentWindowId())
.setProperty('memcache', pickle.dumps({}))
def has_cached_item (self, cache_id):
"""Checks if the requested item is in memory cache
def has_cached_item (self, cache_id):
"""Checks if the requested item is in memory cache
@@
-260,7
+259,7
@@
class KodiHelper:
bool
Item is cached
"""
bool
Item is cached
"""
- cached_items = pickle.loads(
self.win
.getProperty('memcache'))
+ cached_items = pickle.loads(
xbmcgui.Window(xbmcgui.getCurrentWindowId())
.getProperty('memcache'))
return cache_id in cached_items.keys()
def get_cached_item (self, cache_id):
return cache_id in cached_items.keys()
def get_cached_item (self, cache_id):
@@
-276,7
+275,7
@@
class KodiHelper:
mixed
Contents of the requested cache item or none
"""
mixed
Contents of the requested cache item or none
"""
- cached_items = pickle.loads(
self.win
.getProperty('memcache'))
+ cached_items = pickle.loads(
xbmcgui.Window(xbmcgui.getCurrentWindowId())
.getProperty('memcache'))
if self.has_cached_item(cache_id) != True:
return None
return cached_items[cache_id]
if self.has_cached_item(cache_id) != True:
return None
return cached_items[cache_id]
@@
-292,9
+291,9
@@
class KodiHelper:
contents : mixed
Cache entry contents
"""
contents : mixed
Cache entry contents
"""
- cached_items = pickle.loads(
self.win
.getProperty('memcache'))
+ cached_items = pickle.loads(
xbmcgui.Window(xbmcgui.getCurrentWindowId())
.getProperty('memcache'))
cached_items.update({cache_id: contents})
cached_items.update({cache_id: contents})
-
self.win
.setProperty('memcache', pickle.dumps(cached_items))
+
xbmcgui.Window(xbmcgui.getCurrentWindowId())
.setProperty('memcache', pickle.dumps(cached_items))
def build_profiles_listing (self, profiles, action, build_url):
"""Builds the profiles list Kodi screen
def build_profiles_listing (self, profiles, action, build_url):
"""Builds the profiles list Kodi screen
@@
-404,7
+403,7
@@
class KodiHelper:
preselected_list_item = idx if item else None
preselected_list_item = idx + 1 if self.get_main_menu_selection() == 'search' else preselected_list_item
if preselected_list_item != None:
preselected_list_item = idx if item else None
preselected_list_item = idx + 1 if self.get_main_menu_selection() == 'search' else preselected_list_item
if preselected_list_item != None:
- xbmc.executebuiltin('ActivateWindowAndFocus(%s, %s)' % (str(
self.win
.getFocusId()), str(preselected_list_item)))
+ xbmc.executebuiltin('ActivateWindowAndFocus(%s, %s)' % (str(
xbmcgui.Window(xbmcgui.getCurrentWindowId())
.getFocusId()), str(preselected_list_item)))
return True
def build_video_listing (self, video_list, actions, type, build_url):
return True
def build_video_listing (self, video_list, actions, type, build_url):
diff --git
a/resources/lib/NetflixSession.py
b/resources/lib/NetflixSession.py
index bd01b9de1e404e4f9a9eae3965cf1f44437f6510..60625a3cc1d5eae729fed63b06cf2bb9b5bc2521 100644
(file)
--- a/
resources/lib/NetflixSession.py
+++ b/
resources/lib/NetflixSession.py
@@
-491,6
+491,7
@@
class NetflixSession:
browse_soup = BeautifulSoup(browse_response.text, 'html.parser', parse_only=only_script_tags)
self._parse_page_contents(page_soup=browse_soup)
account_hash = self._generate_account_hash(account=account)
browse_soup = BeautifulSoup(browse_response.text, 'html.parser', parse_only=only_script_tags)
self._parse_page_contents(page_soup=browse_soup)
account_hash = self._generate_account_hash(account=account)
+ self.user_data['guid'] = profile_id;
self._save_data(filename=self.data_path + '_' + account_hash)
return True
self._save_data(filename=self.data_path + '_' + account_hash)
return True