def download(self, info, path, duration): addonPath = xbmc.translatePath(util.ADDON.getAddonInfo('path')).decode('utf-8') service = os.path.join(addonPath, 'service.py') data = {'data': info, 'path': path, 'duration': duration} dataJSON = json.dumps(data) jsonqueue.XBMCJsonRAFifoQueue(util.QUEUE_FILE).push(binascii.hexlify(dataJSON)) xbmc.executebuiltin('RunScript({0})'.format(service))
def manageQueue(self): ID = True q = jsonqueue.XBMCJsonRAFifoQueue(util.QUEUE_FILE) while ID: items = q.items() if not items: return xbmcgui.Dialog().ok('Queue Empty', 'No downloads are in the queue.') d = util.xbmcDialogSelect('Select Item To Delete') for qID, val in items: data = json.loads(binascii.unhexlify(val))['data'] d.addItem(qID, data['title']) ID = d.getResult() if not ID: return q.remove(ID)
def stopAllDownloads(self): jsonqueue.XBMCJsonRAFifoQueue(util.QUEUE_FILE).clear() self.stopDownload()