- def addingItemsTest():
- import sys,xbmc,xbmcplugin,xbmcgui,time
- xbmc.executebuiltin("XBMC.Dialog.Close(busydialog,true)")
- dialogWait = xbmcgui.DialogProgress()
- dialogWait.create('Adding Items')
- totalItems = 1000
- addedItems = 0
- startTime = time.time()
- endTime = startTime
- for n in range(totalItems):
- time.sleep(5/float(totalItems)) #5 seconds in total
- infoLabels={ "Title": str(n), "Plot": "x" * 500, "Duration": str(n), "Year": "2017" ,"Genre": "HORROR!" }
- item = xbmcgui.ListItem(str(n) )
- item.setInfo( type="Video", infoLabels=infoLabels )
- xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url="",listitem=item)
- addedItems += 1
- percent = (addedItems * 100)/totalItems
- remaining_display = 'Added Items: [B]'+str(addedItems)+' / '+str(totalItems)+'[/B].'
- endTime = time.time()
- elapsedTime = "Elapsed time: [B]" + str("%0.03f" % (round(endTime - startTime,3))) + "s[/B]"
- dialogWait.update(percent,remaining_display,elapsedTime)
- if dialogWait.iscanceled(): break
- xbmcplugin.endOfDirectory(int(sys.argv[1]))
- dialogWait.close()
- del dialogWait
- endTime = time.time()
- results = 'Added %s items in %ss' % (addedItems,str("%0.03f" % (round(endTime - startTime,3))));
- xbmc.log(results,xbmc.LOGNOTICE)
- dialog = xbmcgui.Dialog()
- dialog.ok('Results:',results,'')