Kodi Community Forum
addDirectoryItem doesn't update the list - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=26)
+--- Thread: addDirectoryItem doesn't update the list (/showthread.php?tid=82584)



addDirectoryItem doesn't update the list - jhsrennie - 2010-10-05

I have the following test addon:

Code:
import xbmcplugin
import xbmcgui

_thisPlugin = int(sys.argv[1])
_thisPluginName = "plugin.script.test"

cmd = sys.argv[2].replace("?", "")

if cmd == "test":
    xbmcgui.Dialog().ok("Test", "You selected the test option")
    listItem = xbmcgui.ListItem("You selected the test option")
    xbmcplugin.addDirectoryItem(_thisPlugin,"plugin://plugin.script.test", listItem)

else:
    listItem = xbmcgui.ListItem("The test option")
    xbmcplugin.addDirectoryItem(_thisPlugin,"plugin://plugin.script.test?test", listItem)

xbmcplugin.endOfDirectory(_thisPlugin)

When I go into it it lists one item "The test option" just as I'd expect. However when I select the test option it does not update the list. It does display the dialog, so I know it correctly parsed the argument, "test", and executed the code:

Code:
listItem = xbmcgui.ListItem("You selected the test option")
    xbmcplugin.addDirectoryItem(_thisPlugin,"plugin://plugin.script.test", listItem)

but the list displayed didn't change i.e. it didn't show "You selected the test option". Do I have to do something to reset the list once I've entered the plugin so I can update it?

JR


- ppic - 2010-10-05

see container.update or container.refresh


- jhsrennie - 2010-10-05

Thanks, could you give me a quick example of this would work with my test code. As far as I can see none of xbmc, xbmcgui, xbmcplugin or xbmcaddon have .update or .refresh methods. Or is there an XBMC object called "container"?

JR


- ppic - 2010-10-05

Code:
if mode == 7: #suppression cinema perso
    delete_cinema( (url, name ))
    xbmc.executebuiltin("Container.Refresh")
    OK=False

closer look:
http://code.google.com/p/passion-xbmc/source/browse/trunk/addons/plugin.video.Bande-Annonce%20Allocine/default.py


- jhsrennie - 2010-10-05

Thanks, I tried:

Code:
import xbmcplugin
import xbmcgui

_thisPlugin = int(sys.argv[1])
_thisPluginName = "plugin.script.test"

cmd = sys.argv[2].replace("?", "")

if cmd == "test":
    xbmc.executebuiltin("Container.Refresh")
    xbmcgui.Dialog().ok("Test", "You selected the test option")
    listItem = xbmcgui.ListItem("You selected the test option")
    xbmcplugin.addDirectoryItem(_thisPlugin,"plugin://plugin.script.test", listItem)
    xbmcplugin.endOfDirectory(_thisPlugin, updateListing=True)
    xbmc.executebuiltin("Container.Refresh")

else:
    listItem = xbmcgui.ListItem("The test option")
    xbmcplugin.addDirectoryItem(_thisPlugin,"plugin://plugin.script.test?test", listItem)
    xbmcplugin.endOfDirectory(_thisPlugin, updateListing=True)
and it made no difference. The list still didn't refresh when I selected the test option from the first listing.

JR


- ppic - 2010-10-05

well, i need to see later, i'm at work actually.


- jhsrennie - 2010-10-05

ppic Wrote:well, i need to see later, i'm at work actually.

Thanks for your help. I'm sure there's something obvious I'm missing.

JR


- ppic - 2010-10-05

can you provide zipped version of the test plugin?


- jhsrennie - 2010-10-06

ppic Wrote:can you provide zipped version of the test plugin?

http://swarchive.ratsauce.co.uk/plugin_test.zip

Thanks, JR