Kodi Documentation  19.0
Kodi is an open source media player and entertainment hub.
Library - xbmcplugin

Plugin functions on Kodi. More...

Functions

 addDirectoryItem (...)
 

Function: xbmcplugin.addDirectoryItem(handle, url, listitem [,isFolder, totalItems])


Callback function to pass directory contents back to Kodi. More...
 
 addDirectoryItems (...)
 

Function: xbmcplugin.addDirectoryItems(handle, items[, totalItems])


Callback function to pass directory contents back to Kodi as a list. More...
 
 endOfDirectory (...)
 

Function: xbmcplugin.endOfDirectory(handle[, succeeded, updateListing, cacheToDisc])


Callback function to tell Kodi that the end of the directory listing in a virtualPythonFolder module is reached. More...
 
 setResolvedUrl (...)
 

Function: xbmcplugin.setResolvedUrl(handle, succeeded, listitem)


Callback function to tell Kodi that the file plugin has been resolved to a url More...
 
 addSortMethod (...)
 

Function: xbmcplugin.addSortMethod(handle, sortMethod [,label2Mask])


Adds a sorting method for the media list. More...
 
 getSetting (...)
 

Function: xbmcplugin.getSetting(handle, id)


Returns the value of a setting as a string. More...
 
 setSetting (...)
 

Function: xbmcplugin.setSetting(handle, id, value)


Sets a plugin setting for the current running plugin. More...
 
 setContent (...)
 

Function: xbmcplugin.setContent(handle, content)


Sets the plugins content. More...
 
 setPluginCategory (...)
 

Function: xbmcplugin.setPluginCategory(handle, category)


Sets the plugins name for skins to display. More...
 
 setPluginFanart (...)
 

Function: xbmcplugin.setPluginFanart(handle, image, color1, color2, color3)


Sets the plugins fanart and color for skins to display. More...
 
 setProperty (...)
 

Function: xbmcplugin.setProperty(handle, key, value)


Sets a container property for this plugin. More...
 

Detailed Description

Plugin functions on Kodi.

Offers classes and functions that allow a developer to present information through Kodi's standard menu structure. While plugins don't have the same flexibility as scripts, they boast significantly quicker development time and a more consistent user experience.

Function Documentation

§ addDirectoryItem()

addDirectoryItem (   ...)

Function: xbmcplugin.addDirectoryItem(handle, url, listitem [,isFolder, totalItems])


Callback function to pass directory contents back to Kodi.

Parameters
handleinteger - handle the plugin was started with.
urlstring - url of the entry. would be plugin:// for another virtual directory
listitemListItem - item to add.
isFolder[opt] bool - True=folder / False=not a folder(default).
totalItems[opt] integer - total number of items that will be passed.(used for progressbar)
Returns
Returns a bool for successful completion.
Note
You can use the above as keywords for arguments and skip certain optional arguments. Once you use a keyword, all following arguments require the keyword.

Example:

..
if not xbmcplugin.addDirectoryItem(int(sys.argv[1]), 'F:\\Trailers\\300.mov', listitem, totalItems=50): break
..

§ addDirectoryItems()

addDirectoryItems (   ...)

Function: xbmcplugin.addDirectoryItems(handle, items[, totalItems])


Callback function to pass directory contents back to Kodi as a list.

Parameters
handleinteger - handle the plugin was started with.
itemsList - list of (url, listitem[, isFolder]) as a tuple to add.
totalItems[opt] integer - total number of items that will be passed.(used for progressbar)
Returns
Returns a bool for successful completion.
Remarks
Large lists benefit over using the standard addDirectoryItem(). You may call this more than once to add items in chunks.

Example:

..
if not xbmcplugin.addDirectoryItems(int(sys.argv[1]), [(url, listitem, False,)]: raise
..

§ addSortMethod()

addSortMethod (   ...)

Function: xbmcplugin.addSortMethod(handle, sortMethod [,label2Mask])


Adds a sorting method for the media list.

Parameters
handleinteger - handle the plugin was started with.
sortMethodinteger - see available sort methods at the bottom (or see SortUtils).
Value Description
xbmcplugin.SORT_METHOD_NONE Do not sort
xbmcplugin.SORT_METHOD_LABEL Sort by label
xbmcplugin.SORT_METHOD_LABEL_IGNORE_THE Sort by the label and ignore "The" before
xbmcplugin.SORT_METHOD_DATE Sort by the date
xbmcplugin.SORT_METHOD_SIZE Sort by the size
xbmcplugin.SORT_METHOD_FILE Sort by the file
xbmcplugin.SORT_METHOD_DRIVE_TYPE Sort by the drive type
xbmcplugin.SORT_METHOD_TRACKNUM Sort by the track number
xbmcplugin.SORT_METHOD_DURATION Sort by the duration
xbmcplugin.SORT_METHOD_TITLE Sort by the title
xbmcplugin.SORT_METHOD_TITLE_IGNORE_THE Sort by the title and ignore "The" before
xbmcplugin.SORT_METHOD_ARTIST Sort by the artist
xbmcplugin.SORT_METHOD_ARTIST_IGNORE_THE Sort by the artist and ignore "The" before
xbmcplugin.SORT_METHOD_ALBUM Sort by the album
xbmcplugin.SORT_METHOD_ALBUM_IGNORE_THE Sort by the album and ignore "The" before
xbmcplugin.SORT_METHOD_GENRE Sort by the genre
xbmcplugin.SORT_SORT_METHOD_VIDEO_YEAR, xbmcplugin.SORT_METHOD_YEAR Sort by the year
xbmcplugin.SORT_METHOD_VIDEO_RATING Sort by the video rating
xbmcplugin.SORT_METHOD_PROGRAM_COUNT Sort by the program count
xbmcplugin.SORT_METHOD_PLAYLIST_ORDER Sort by the playlist order
xbmcplugin.SORT_METHOD_EPISODE Sort by the episode
xbmcplugin.SORT_METHOD_VIDEO_TITLE Sort by the video title
xbmcplugin.SORT_METHOD_VIDEO_SORT_TITLE Sort by the video sort title
xbmcplugin.SORT_METHOD_VIDEO_SORT_TITLE_IGNORE_THE Sort by the video sort title and ignore "The" before
xbmcplugin.SORT_METHOD_PRODUCTIONCODE Sort by the production code
xbmcplugin.SORT_METHOD_SONG_RATING Sort by the song rating
xbmcplugin.SORT_METHOD_MPAA_RATING Sort by the mpaa rating
xbmcplugin.SORT_METHOD_VIDEO_RUNTIME Sort by video runtime
xbmcplugin.SORT_METHOD_STUDIO Sort by the studio
xbmcplugin.SORT_METHOD_STUDIO_IGNORE_THE Sort by the studio and ignore "The" before
xbmcplugin.SORT_METHOD_UNSORTED Use list not sorted
xbmcplugin.SORT_METHOD_BITRATE Sort by the bitrate
xbmcplugin.SORT_METHOD_LISTENERS Sort by the listeners
xbmcplugin.SORT_METHOD_COUNTRY Sort by the country
xbmcplugin.SORT_METHOD_DATEADDED Sort by the added date
xbmcplugin.SORT_METHOD_FULLPATH Sort by the full path name
xbmcplugin.SORT_METHOD_LABEL_IGNORE_FOLDERS Sort by the label names and ignore related folder names
xbmcplugin.SORT_METHOD_LASTPLAYED Sort by last played date
xbmcplugin.SORT_METHOD_PLAYCOUNT Sort by the play count
xbmcplugin.SORT_METHOD_CHANNEL Sort by the channel
xbmcplugin.SORT_METHOD_DATE_TAKEN Sort by the taken date
xbmcplugin.SORT_METHOD_VIDEO_USER_RATING Sort by the rating of the user of video
xbmcplugin.SORT_METHOD_SONG_USER_RATING Sort by the rating of the user of song
label2Mask[opt] string - the label mask to use for the second label. Defaults to %D
  • applies to:
    SORT_METHOD_NONE SORT_METHOD_UNSORTED SORT_METHOD_VIDEO_TITLE
    SORT_METHOD_TRACKNUM SORT_METHOD_FILE SORT_METHOD_TITLE
    SORT_METHOD_TITLE_IGNORE_THE SORT_METHOD_LABEL SORT_METHOD_LABEL_IGNORE_THE
    SORT_METHOD_VIDEO_SORT_TITLE SORT_METHOD_FULLPATH SORT_METHOD_VIDEO_SORT_TITLE_IGNORE_THE
    SORT_METHOD_LABEL_IGNORE_FOLDERS SORT_METHOD_CHANNEL
Note
to add multiple sort methods just call the method multiple times.

v13 Python API changes:
Added new sort SORT_METHOD_DATE_TAKEN, SORT_METHOD_COUNTRY, SORT_METHOD_DATEADDED, SORT_METHOD_FULLPATH, SORT_METHOD_LABEL_IGNORE_FOLDERS, SORT_METHOD_LASTPLAYED, SORT_METHOD_PLAYCOUNT, SORT_METHOD_CHANNEL.
v17 Python API changes:
Added new sort SORT_METHOD_VIDEO_USER_RATING.

Example:

..
xbmcplugin.addSortMethod(int(sys.argv[1]), xbmcplugin.SORTMETHOD_DATEADDED)
..

§ endOfDirectory()

endOfDirectory (   ...)

Function: xbmcplugin.endOfDirectory(handle[, succeeded, updateListing, cacheToDisc])


Callback function to tell Kodi that the end of the directory listing in a virtualPythonFolder module is reached.

Parameters
handleinteger - handle the plugin was started with.
succeeded[opt] bool - True=script completed successfully(Default)/False=Script did not.
updateListing[opt] bool - True=this folder should update the current listing/False=Folder is a subfolder(Default).
cacheToDisc[opt] bool - True=Folder will cache if extended time(default)/False=this folder will never cache to disc.

Example:

..
xbmcplugin.endOfDirectory(int(sys.argv[1]), cacheToDisc=False)
..

§ getSetting()

getSetting (   ...)

Function: xbmcplugin.getSetting(handle, id)


Returns the value of a setting as a string.

Parameters
handleinteger - handle the plugin was started with.
idstring - id of the setting that the module needs to access.
Returns
Setting value as string
Note
You can use the above as a keyword.

Example:

..
apikey = xbmcplugin.getSetting(int(sys.argv[1]), 'apikey')
..

§ setContent()

setContent (   ...)

Function: xbmcplugin.setContent(handle, content)


Sets the plugins content.

Parameters
handleinteger - handle the plugin was started with.
contentstring - content type (eg. movies)
Available content strings
files songs artists albums
movies tvshows episodes musicvideos
videos images games
Remarks
Use videos for all videos which do not apply to the more specific mentioned ones like "movies", "episodes" etc. A good example is youtube.

v18 Python API changes:
Added new games content

Example:

..
xbmcplugin.setContent(int(sys.argv[1]), 'movies')
..

§ setPluginCategory()

setPluginCategory (   ...)

Function: xbmcplugin.setPluginCategory(handle, category)


Sets the plugins name for skins to display.

Parameters
handleinteger - handle the plugin was started with.
categorystring or unicode - plugins sub category.

Example:

..
xbmcplugin.setPluginCategory(int(sys.argv[1]), 'Comedy')
..

§ setPluginFanart()

setPluginFanart (   ...)

Function: xbmcplugin.setPluginFanart(handle, image, color1, color2, color3)


Sets the plugins fanart and color for skins to display.

Parameters
handleinteger - handle the plugin was started with.
image[opt] string - path to fanart image.
color1[opt] hexstring - color1. (e.g. '0xFFFFFFFF')
color2[opt] hexstring - color2. (e.g. '0xFFFF3300')
color3[opt] hexstring - color3. (e.g. '0xFF000000')

Example:

..
xbmcplugin.setPluginFanart(int(sys.argv[1]), 'special://home/addons/plugins/video/Apple movie trailers II/fanart.png', color2='0xFFFF3300')
..

§ setProperty()

setProperty (   ...)

Function: xbmcplugin.setProperty(handle, key, value)


Sets a container property for this plugin.

Parameters
handleinteger - handle the plugin was started with.
keystring - property name.
valuestring or unicode - value of property.
Note
Key is NOT case sensitive.

Example:

..
xbmcplugin.setProperty(int(sys.argv[1]), 'Emulator', 'M.A.M.E.')
..

§ setResolvedUrl()

setResolvedUrl (   ...)

Function: xbmcplugin.setResolvedUrl(handle, succeeded, listitem)


Callback function to tell Kodi that the file plugin has been resolved to a url

Parameters
handleinteger - handle the plugin was started with.
succeededbool - True=script completed successfully/False=Script did not.
listitemListItem - item the file plugin resolved to for playback.

Example:

..
xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, listitem)
..

§ setSetting()

setSetting (   ...)

Function: xbmcplugin.setSetting(handle, id, value)


Sets a plugin setting for the current running plugin.

Parameters
handleinteger - handle the plugin was started with.
idstring - id of the setting that the module needs to access.
valuestring or unicode - value of the setting.

Example:

..
xbmcplugin.setSetting(int(sys.argv[1]), id='username', value='teamxbmc')
..