Kodi Community Forum

Full Version: addDirectoryItem doesn't update the list
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
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
see container.update or container.refresh
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
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/so...default.py
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
well, i need to see later, i'm at work actually.
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
can you provide zipped version of the test plugin?
ppic Wrote:can you provide zipped version of the test plugin?

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

Thanks, JR