Kodi Community Forum

Full Version: Unsupported protocol(plugin) errors
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
My plugin is generating a crap load of these:

Code:
21:01:07 T:3444 WARNING: XFILE::CFileFactory::CreateLoader - Unsupported protocol(plugin) in plugin://plugin.program.xsqueezechooser/folder.jpg?url=&mode=1&name=New+Music+%28latest+50+albums%29&album=&artist=&artistID=&genreID=&year=

...note my plugin is an odd one in that it doesn't actually pass any media to XBMC as such, it actually triggers event on a external music player...hence the perhaps funky parameters.

Is there anything I can do to stop these errors being triggered as they make for a messy log....
only fixable through c++.
Ok well log spew it is then! Smile
Create it as a folder, in the function that it directs to, execute your external code, then use Container.Update to redraw the items. That seems like it should work
I am not sure I follow to be honest....I do currently at the items raising this error as a folder item..and the handler for this mode (when these things are clicked) - then exectues the external stuff and adds some non folder nodes to indicate what has happened....

But it seems like adding any node using the sys.argv[0] reference raises the error as that uses plugin:// as the protocol....which I need to do so the plugin items re-invoke the plugin when clicked, right?
Try creating the result nodes as folder item pointing pack to the previous level's mode handler. That should eliminate the errors above, but now the window history is jacked up and you have to hit back like 30 times to go up a level. So use Container.Update to add the nodes instead of the normal addDirectoryItem()
Sorry, I am probably dense, but I can't see how to add a noce with Container.Update - can you post an example?

Perhaps you mean add the nodes and then call container.update to somehow fix the path? I can't find a good example of container.update's use....

Code:
    url = addon.build_plugin_url({'mode':'GetFilteredResults', 'section':section, 'genre':genre, 'letter':letter, 'sort':sort, 'page':index+1})
    builtin = 'Container.Update(%s)' %url
    xbmc.executebuiltin(builtin)

url should come back as something like plugin://script.video.something/?mode=GetFilteredResults&section=AZ&someparam=somevalue

When that plugin:// string is executed, it should call a function which adds the nodes to the container (as folders since you always want to add nodes after taking action)