Merge pull request #833 from croneter/fix-clearing-window-vars
Correctly clear window variables e.g. on user switch
This commit is contained in:
commit
8dd1565fc1
1 changed files with 11 additions and 5 deletions
|
@ -626,6 +626,9 @@ def _sync_from_pms(pick_libraries):
|
||||||
# Remove the section itself
|
# Remove the section itself
|
||||||
old_section.remove()
|
old_section.remove()
|
||||||
|
|
||||||
|
# Clear all existing window vars because we did NOT remove them with the
|
||||||
|
# command section.remove()
|
||||||
|
clear_window_vars()
|
||||||
# Time to write the sections to Kodi
|
# Time to write the sections to Kodi
|
||||||
for section in sections:
|
for section in sections:
|
||||||
section.to_kodi()
|
section.to_kodi()
|
||||||
|
@ -638,22 +641,25 @@ def _sync_from_pms(pick_libraries):
|
||||||
|
|
||||||
def _clear_window_vars(index):
|
def _clear_window_vars(index):
|
||||||
node = 'Plex.nodes.%s' % index
|
node = 'Plex.nodes.%s' % index
|
||||||
|
utils.window('%s.index' % node, clear=True)
|
||||||
utils.window('%s.title' % node, clear=True)
|
utils.window('%s.title' % node, clear=True)
|
||||||
utils.window('%s.type' % node, clear=True)
|
utils.window('%s.type' % node, clear=True)
|
||||||
utils.window('%s.content' % node, clear=True)
|
utils.window('%s.content' % node, clear=True)
|
||||||
utils.window('%s.path' % node, clear=True)
|
utils.window('%s.path' % node, clear=True)
|
||||||
utils.window('%s.id' % node, clear=True)
|
utils.window('%s.id' % node, clear=True)
|
||||||
utils.window('%s.addon_path' % node, clear=True)
|
utils.window('%s.addon_index' % node, clear=True)
|
||||||
for kind in WINDOW_ARGS:
|
# Just clear everything here, ignore the plex_type
|
||||||
node = 'Plex.nodes.%s.%s' % (index, kind)
|
for typus in (x[0] for y in nodes.NODE_TYPES.values() for x in y):
|
||||||
utils.window(node, clear=True)
|
for kind in WINDOW_ARGS:
|
||||||
|
node = 'Plex.nodes.%s.%s.%s' % (index, typus, kind)
|
||||||
|
utils.window(node, clear=True)
|
||||||
|
|
||||||
|
|
||||||
def clear_window_vars():
|
def clear_window_vars():
|
||||||
"""
|
"""
|
||||||
Removes all references to sections stored in window vars 'Plex.nodes...'
|
Removes all references to sections stored in window vars 'Plex.nodes...'
|
||||||
"""
|
"""
|
||||||
LOG.info('Clearing all the Plex video node variables')
|
LOG.debug('Clearing all the Plex video node variables')
|
||||||
number_of_nodes = int(utils.window('Plex.nodes.total') or 0)
|
number_of_nodes = int(utils.window('Plex.nodes.total') or 0)
|
||||||
utils.window('Plex.nodes.total', clear=True)
|
utils.window('Plex.nodes.total', clear=True)
|
||||||
for index in range(number_of_nodes):
|
for index in range(number_of_nodes):
|
||||||
|
|
Loading…
Reference in a new issue