def _parseParameters(self): mode = int(self.addon.queries['mode']) queryString = self.addon.queries['item'] item = ListItem.create() if mode in [Mode.ADDTOFAVOURITES, Mode.REMOVEFROMFAVOURITES, Mode.EDITITEM]: item.infos = self.addon.parse_query(urllib.unquote(queryString),{}) else: item.infos = self.addon.parse_query(queryString,{}) return [mode, item]
def _parseParameters(self): mode = int(self.addon.queries['mode']) queryString = self.addon.queries['item'] item = ListItem.create() if mode in [Mode.CHROME, Mode.ADDTOFAVOURITES, Mode.REMOVEFROMFAVOURITES, Mode.EDITITEM]: item.infos = self.addon.parse_query(urllib.unquote(queryString),{}) else: item.infos = self.addon.parse_query(queryString,{}) return [mode, item]
def _parseParameters(self): mode = int(self.addon.queries['mode']) queryString = self.addon.queries['item'] item = ListItem.create() if mode in [Mode.CHROME, Mode.ADDTOFAVOURITES, Mode.REMOVEFROMFAVOURITES, Mode.EDITITEM, Mode.WEBDRIVER]: item.infos = self.addon.parse_query(urllib.unquote(queryString),{}) else: item.infos = self.addon.parse_query(queryString,{}) item.infos = dict((k.decode('utf8'), v.decode('utf8')) for k, v in item.infos.items()) return [mode, item]
def _parseParameters(self): mode = int(self.addon.queries['mode']) queryString = self.addon.queries['item'] item = ListItem.create() if mode in [Mode.CHROME, Mode.ADDTOFAVOURITES, Mode.REMOVEFROMFAVOURITES, Mode.EDITITEM]: item.infos = self.addon.parse_query(urllib.unquote(queryString),{}) else: item.infos = self.addon.parse_query(queryString,{}) item.infos = dict((k.decode('utf8'), v.decode('utf8')) for k, v in item.infos.items()) return [mode, item]
def run(self, argv=None): self.addon = Addon('plugin.video.SportsDevil', argv) common.log('SportsDevil running') base = argv[0] handle = int(argv[1]) parameter = argv[2] self.base = base self.handle = handle paramstring = urllib.unquote_plus(parameter) try: # if addon is started listItemPath = xbmcUtils.getListItemPath() if not listItemPath.startswith(self.base): if not('mode=' in paramstring and not 'mode=1&' in paramstring): xbmcplugin.setPluginFanart(self.handle, common.Paths.pluginFanart) self.clearCache() #if common.getSetting('autoupdate') == 'true': # self.update() # Main Menu if len(paramstring) <= 2: mainMenu = ListItem.create() mainMenu['url'] = self.MAIN_MENU_FILE tmpList = self.parseView(mainMenu) if tmpList: self.currentlist = tmpList else: [mode, item] = self._parseParameters() # switch(mode) if mode == Mode.VIEW: tmpList = self.parseView(item) if tmpList: self.currentlist = tmpList count = len(self.currentlist.items) if count == 1: # Autoplay single video autoplayEnabled = common.getSetting('autoplay') == 'true' if autoplayEnabled: videos = self.currentlist.getVideos() if len(videos) == 1: self.playVideo(videos[0], True) elif mode == Mode.ADDITEM: tmp = os.path.normpath(paramstring.split('url=')[1]) if tmp: suffix = tmp.split(os.path.sep)[-1] tmp = tmp.replace(suffix,'') + urllib.quote_plus(suffix) if self.favouritesManager.add(tmp): xbmc.executebuiltin('Container.Refresh()') elif mode in [Mode.ADDTOFAVOURITES, Mode.REMOVEFROMFAVOURITES, Mode.EDITITEM]: if mode == Mode.ADDTOFAVOURITES: self.favouritesManager.addItem(item) elif mode == Mode.REMOVEFROMFAVOURITES: self.favouritesManager.removeItem(item) xbmc.executebuiltin('Container.Refresh()') elif mode == Mode.EDITITEM: if self.favouritesManager.editItem(item): xbmc.executebuiltin('Container.Refresh()') elif mode == Mode.EXECUTE: self.executeItem(item) elif mode == Mode.PLAY: self.playVideo(item) elif mode == Mode.QUEUE: self.queueAllVideos(item) elif mode == Mode.DOWNLOAD: url = urllib.unquote(item['url']) title = item['title'] self.downloadVideo(url, title) elif mode == Mode.REMOVEFROMCUSTOMMODULES: self.removeCustomModule(item) #elif mode == Mode.UPDATE: # self.update() elif mode == Mode.DOWNLOADCUSTOMMODULE: self.downloadCustomModule() elif mode == Mode.INSTALLADDON: success = install(item['url']) if success: xbmc.sleep(100) if xbmcUtils.getCurrentWindowXmlFile() == 'DialogAddonSettings.xml': # workaround to update settings dialog common.setSetting('', '') except Exception, e: common.showError('Error running SportsDevil') common.log('Error running SportsDevil. Reason:' + str(e))
def parseView(self, lItem): def endOfDirectory(succeeded=True): xbmcplugin.endOfDirectory(handle=self.handle, succeeded=succeeded, cacheToDisc=True) if not lItem: endOfDirectory(False) return None if lItem['type'] == 'search': search_phrase = self.getSearchPhrase() if not search_phrase: common.log("search canceled") endOfDirectory(False) return None else: lItem['type'] = 'rss' lItem['url'] = lItem['url'] % (urllib.quote_plus(search_phrase)) url = lItem['url'] if url == common.Paths.customModulesFile: self.customModulesManager.getCustomModules() tmpList = None result = self.parser.parse(lItem) if result.code == ParsingResult.Code.SUCCESS: tmpList = result.list else: if result.code == ParsingResult.Code.CFGFILE_NOT_FOUND: common.showError("Cfg file not found") elif result.code == ParsingResult.Code.CFGSYNTAX_INVALID: common.showError("Cfg syntax invalid") elif result.code == ParsingResult.Code.WEBREQUEST_FAILED: common.showError("Web request failed") endOfDirectory(False) return None # if it's the main menu, add folder 'Favourites' and 'Custom Modules if url == self.MAIN_MENU_FILE: tmp = ListItem.create() tmp['title'] = '[COLOR green]Favourites[/COLOR]' tmp['type'] = 'rss' tmp['icon'] = os.path.join(common.Paths.imgDir, 'bookmark.png') tmp['url'] = str(common.Paths.favouritesFile) tmpList.items.insert(0, tmp) tmp = ListItem.create() tmp['title'] = '[COLOR red]Custom Modules[/COLOR]' tmp['type'] = 'rss' tmp['url'] = os.path.join(common.Paths.customModulesDir, 'custom.cfg') tmpList.items.insert(0, tmp) # if it's the favourites menu, add item 'Add item' elif url == common.Paths.favouritesFile or url.startswith('favfolders'): if url.startswith('favfolders'): url = os.path.normpath(os.path.join(common.Paths.favouritesFolder, url)) tmp = ListItem.create() tmp['title'] = 'Add item...' tmp['type'] = 'command' tmp['icon'] = os.path.join(common.Paths.imgDir, 'bookmark_add.png') action = 'RunPlugin(%s)' % (self.base + '?mode=' + str(Mode.ADDITEM) + '&url=' + url) tmp['url'] = action tmpList.items.append(tmp) # if it's the custom modules menu, add item 'more...' elif url == common.Paths.customModulesFile: tmp = ListItem.create() tmp['title'] = 'more...' tmp['type'] = 'command' #tmp['icon'] = os.path.join(common.Paths.imgDir, 'bookmark_add.png') action = 'RunPlugin(%s)' % (self.base + '?mode=' + str(Mode.DOWNLOADCUSTOMMODULE) + '&url=') tmp['url'] = action tmpList.items.append(tmp) # Create menu or play, if it's a single video and autoplay is enabled proceed = False count = len(tmpList.items) if count == 0: if url.startswith('favfolders'): proceed = True else: common.showInfo('No stream available') elif count > 0 and not (common.getSetting('autoplay') == 'true' and count == 1 and len(tmpList.getVideos()) == 1): # sort methods sortKeys = tmpList.sort.split('|') setSortMethodsForCurrentXBMCList(self.handle, sortKeys) # Add items to XBMC list for m in tmpList.items: self.addListItem(m, len(tmpList.items)) proceed = True endOfDirectory(proceed) common.log('End of directory') return tmpList
def run(self, argv=None): self.addon = Addon('plugin.video.ViendoKodiStreaming', argv) common.log('ViendoKodiStreaming running') base = argv[0] handle = int(argv[1]) parameter = argv[2] self.base = base self.handle = handle paramstring = urllib.unquote_plus(parameter) common.log(paramstring) try: # if addon is started listItemPath = xbmcUtils.getListItemPath() if not listItemPath.startswith(self.base): if not ('mode=' in paramstring and not 'mode=1&' in paramstring): xbmcplugin.setPluginFanart(self.handle, common.Paths.pluginFanart) self.clearCache() #if common.getSetting('autoupdate') == 'true': # self.update() # Main Menu if '98VKS' in paramstring: nametorrent = os.path.normpath(paramstring.split('url=')[1]) if nametorrent == 'quasar': addonTorrent = 'item_info_build=plugin://plugin.video.quasar/play?uri=%s' elif nametorrent == 'pulsar': addonTorrent = 'item_info_build=plugin://plugin.video.pulsar/play?uri=%s' elif nametorrent == 'kmediatorrent': addonTorrent = 'item_info_build=plugin://plugin.video.kmediatorrent/play/%s' elif nametorrent == "torrenter": addonTorrent = 'item_info_build=plugin://plugin.video.torrenter/?action=playSTRM&url=%s¬_download_only=True' elif nametorrent == "yatp": addonTorrent = 'item_info_build=plugin://plugin.video.yatp/?action=play&torrent=%s' else: addonTorrent = 'item_info_build=plugin://plugin.video.xbmctorrent/play/%s' cFichero = common.Paths.catchersDir + '/' + 'torrent.txt' outfile = open(cFichero, 'w') # Indicamos el valor 'w'. outfile.write('item_info_name=url\n' + 'item_info_from=@PARAM1@\n' + addonTorrent + '\n') outfile.close() common.showInfo( '[COLOR red]NO INSTALAR[/COLOR] conjuntamente los addon pulsar y quasar.\nYa que tendremos problemas de compatibilidad y no funcionará ninguno. [COLOR lime] \nPara los torrent se utilizará: [/COLOR] ' + nametorrent) elif len(paramstring) <= 2: mainMenu = ListItem.create() mainMenu['url'] = self.MAIN_MENU_FILE tmpList = self.parseView(mainMenu) if tmpList: self.currentlist = tmpList else: [mode, item] = self._parseParameters() # switch(mode) if mode == Mode.VIEW: tmpList = self.parseView(item) if tmpList: self.currentlist = tmpList count = len(self.currentlist.items) if count == 1: # Autoplay single video autoplayEnabled = common.getSetting( 'autoplay') == 'true' if autoplayEnabled: videos = self.currentlist.getVideos() if len(videos) == 1: self.playVideo(videos[0], True) elif mode == Mode.ADDITEM: tmp = os.path.normpath(paramstring.split('url=')[1]) if tmp: suffix = tmp.split(os.path.sep)[-1] tmp = tmp.replace(suffix, '') + urllib.quote_plus(suffix) if self.favouritesManager.add(tmp): xbmc.executebuiltin('Container.Refresh()') elif mode in [ Mode.ADDTOFAVOURITES, Mode.REMOVEFROMFAVOURITES, Mode.EDITITEM ]: if mode == Mode.ADDTOFAVOURITES: self.favouritesManager.addItem(item) elif mode == Mode.REMOVEFROMFAVOURITES: self.favouritesManager.removeItem(item) xbmc.executebuiltin('Container.Refresh()') elif mode == Mode.EDITITEM: if self.favouritesManager.editItem(item): xbmc.executebuiltin('Container.Refresh()') elif mode == Mode.EXECUTE: self.executeItem(item) elif mode == Mode.PLAY: self.playVideo(item) elif mode == Mode.WEBDRIVER: url = urllib.quote(item['url']) title = item['title'] self.playWebDriver(url, title) elif mode == Mode.QUEUE: self.queueAllVideos(item) elif mode == Mode.CHROME: url = urllib.quote(item['url']) title = item['title'] self.launchChrome(url, title) elif mode == Mode.SAY: #title = item['title'] url = "" elif mode == Mode.INSTALLADDON: success = install(item['url']) if success: xbmc.sleep(100) if xbmcUtils.getCurrentWindowXmlFile( ) == 'DialogAddonSettings.xml': # workaround to update settings dialog common.setSetting('', '') except Exception, e: common.showError('Error running ViendoKodiStreaming') common.log('Error running ViendoKodiStreaming. Reason:' + str(e))
def parseView(self, lItem): def endOfDirectory(succeeded=True): if self.handle > -1: xbmcplugin.endOfDirectory(handle=self.handle, succeeded=succeeded, cacheToDisc=True) else: common.log('Handle -1') if not lItem: endOfDirectory(False) return None if lItem['type'] == 'search': search_phrase = self.getSearchPhrase() if not search_phrase: common.log("search canceled") endOfDirectory(False) return None else: lItem['type'] = 'rss' lItem['url'] = lItem['url'] % ( urllib.quote_plus(search_phrase)) url = lItem['url'] if url == common.Paths.customModulesFile: self.customModulesManager.getCustomModules() tmpList = None result = self.parser.parse(lItem) if result.code == ParsingResult.Code.SUCCESS: tmpList = result.list elif result.code == ParsingResult.Code.CFGFILE_NOT_FOUND: common.showError("No encuentro el fichero Cfg") endOfDirectory(False) return None elif result.code == ParsingResult.Code.CFGSYNTAX_INVALID: common.showError("sintaxis invalida en Cfg") endOfDirectory(False) return None elif result.code == ParsingResult.Code.WEBREQUEST_FAILED: common.showError("Ha fallado la llamada a la Web") if len(result.list.items) > 0: tmpList = result.list else: endOfDirectory(False) return None # if it's the main menu, add folder 'Favourites' and 'Custom Modules if url == self.MAIN_MENU_FILE: tmp = ListItem.create() tmp['title'] = ' [COLOR blue]ViendoKodi[/COLOR] [COLOR red]Streaming[/COLOR]' tmp['type'] = 'say' tmp['url'] = '' tmp['icon'] = os.path.join(common.Paths.imgDir, 'icon.png') tmpList.items.insert(0, tmp) tmp = ListItem.create() tmp['title'] = '[COLOR red][B] [/B][/COLOR]' tmp['type'] = 'say' tmp['url'] = '' tmp['icon'] = os.path.join(common.Paths.imgDir, 'icon.png') tmpList.items.insert(1, tmp) #tmp = ListItem.create() #tmp['title'] = '[COLOR red]Custom Modules[/COLOR]' #tmp['type'] = 'rss' #tmp['url'] = os.path.join(common.Paths.customModulesDir, 'custom.cfg') #tmpList.items.insert(0, tmp) # if it's the favourites menu, add item 'Add item' elif url == common.Paths.favouritesFile or url.startswith( 'favfolders'): if url.startswith('favfolders'): url = os.path.normpath( os.path.join(common.Paths.favouritesFolder, url)) tmp = ListItem.create() tmp['title'] = 'Add item...' tmp['type'] = 'command' tmp['icon'] = os.path.join(common.Paths.imgDir, 'bookmark_add.png') action = 'RunPlugin(%s)' % (self.base + '?mode=' + str(Mode.ADDITEM) + '&url=' + url) tmp['url'] = action tmpList.items.append(tmp) # Create menu or play, if it's a single video and autoplay is enabled count = len(tmpList.items) if (count == 0 and not url.startswith('favfolders')): common.showInfo('No stream available') #Directory with 0 items endOfDirectory(False) elif not (common.getSetting('autoplay') == 'true' and count == 1 and len(tmpList.getVideos()) == 1): # sort methods sortKeys = tmpList.sort.split('|') setSortMethodsForCurrentXBMCList(self.handle, sortKeys) # Add items to XBMC list for m in tmpList.items: self.addListItem(m, len(tmpList.items)) #Directory with >1 items endOfDirectory(True) else: #Directory with 0 items endOfDirectory(False) return tmpList
def run(self, argv=None): self.addon = Addon('plugin.video.SportsDevil', argv) common.log('SportsDevil running') base = argv[0] handle = int(argv[1]) parameter = argv[2] self.base = base self.handle = handle paramstring = urllib.unquote_plus(parameter) common.log(paramstring) try: # if addon is started listItemPath = xbmcUtils.getListItemPath() if not listItemPath.startswith(self.base): if not('mode=' in paramstring and not 'mode=1&' in paramstring): xbmcplugin.setPluginFanart(self.handle, common.Paths.pluginFanart) self.clearCache() # Main Menu if len(paramstring) <= 2: mainMenu = ListItem.create() mainMenu['url'] = self.MAIN_MENU_FILE tmpList = self.parseView(mainMenu) if tmpList: self.currentlist = tmpList else: [mode, item] = self._parseParameters() # switch(mode) if mode == Mode.VIEW: tmpList = self.parseView(item) if tmpList: self.currentlist = tmpList count = len(self.currentlist.items) if count == 1: # Autoplay single video autoplayEnabled = common.getSetting('autoplay') == 'true' if autoplayEnabled: videos = self.currentlist.getVideos() if len(videos) == 1: self.playVideo(videos[0], True) elif mode == Mode.ADDITEM: tmp = os.path.normpath(paramstring.split('url=')[1]) if tmp: suffix = tmp.split(os.path.sep)[-1] tmp = tmp.replace(suffix,'') + urllib.quote_plus(suffix) if self.favouritesManager.add(tmp): xbmc.executebuiltin('Container.Refresh()') elif mode in [Mode.ADDTOFAVOURITES, Mode.REMOVEFROMFAVOURITES, Mode.EDITITEM]: if mode == Mode.ADDTOFAVOURITES: self.favouritesManager.addItem(item) elif mode == Mode.REMOVEFROMFAVOURITES: self.favouritesManager.removeItem(item) xbmc.executebuiltin('Container.Refresh()') elif mode == Mode.EDITITEM: if self.favouritesManager.editItem(item): xbmc.executebuiltin('Container.Refresh()') elif mode == Mode.EXECUTE: self.executeItem(item) elif mode == Mode.PLAY: self.playVideo(item) elif mode == Mode.SLPROXY: self.playSLProxy(item) elif mode == Mode.WEBDRIVER: url = urllib.quote(item['url']) title = item['title'] self.playWebDriver(url, title) elif mode == Mode.QUEUE: self.queueAllVideos(item) elif mode == Mode.CHROME: url = urllib.quote(item['url']) title = item['title'] self.launchChrome(url, title) elif mode == Mode.INSTALLADDON: success = install(item['url']) if success: xbmc.sleep(100) if xbmcUtils.getCurrentWindowXmlFile() == 'DialogAddonSettings.xml': # workaround to update settings dialog common.setSetting('', '') except Exception, e: common.showError('Error running SportsDevil') common.log('Error running SportsDevil. Reason:' + str(e))
def parseView(self, lItem): def endOfDirectory(succeeded=True): xbmcplugin.endOfDirectory(handle=self.handle, succeeded=succeeded, cacheToDisc=True) if not lItem: endOfDirectory(False) return None if lItem['type'] == 'search': search_phrase = self.getSearchPhrase() if not search_phrase: common.log("search canceled") endOfDirectory(False) return None else: lItem['type'] = 'rss' lItem['url'] = lItem['url'] % ( urllib.quote_plus(search_phrase)) url = lItem['url'] if url == common.Paths.customModulesFile: self.customModulesManager.getCustomModules() tmpList = None result = self.parser.parse(lItem) if result.code == ParsingResult.Code.SUCCESS: tmpList = result.list else: if result.code == ParsingResult.Code.CFGFILE_NOT_FOUND: common.showError("Cfg file not found") elif result.code == ParsingResult.Code.CFGSYNTAX_INVALID: common.showError("Cfg syntax invalid") elif result.code == ParsingResult.Code.WEBREQUEST_FAILED: common.showError("Web request failed") endOfDirectory(False) return None # if it's the main menu, add folder 'Favourites' and 'Custom Modules if url == self.MAIN_MENU_FILE: tmp = ListItem.create() tmp['title'] = 'Favourites' tmp['type'] = 'rss' tmp['icon'] = os.path.join(common.Paths.imgDir, 'bookmark.png') tmp['url'] = str(common.Paths.favouritesFile) tmpList.items.insert(0, tmp) tmp = ListItem.create() tmp['title'] = '[COLOR red]Custom Modules[/COLOR]' tmp['type'] = 'rss' tmp['url'] = os.path.join(common.Paths.customModulesDir, 'custom.cfg') tmpList.items.insert(0, tmp) # if it's the favourites menu, add item 'Add item' elif url == common.Paths.favouritesFile or url.startswith( 'favfolders'): if url.startswith('favfolders'): url = os.path.normpath( os.path.join(common.Paths.favouritesFolder, url)) tmp = ListItem.create() tmp['title'] = 'Add item...' tmp['type'] = 'command' tmp['icon'] = os.path.join(common.Paths.imgDir, 'bookmark_add.png') action = 'RunPlugin(%s)' % (self.base + '?mode=' + str(Mode.ADDITEM) + '&url=' + url) tmp['url'] = action tmpList.items.append(tmp) # if it's the custom modules menu, add item 'more...' elif url == common.Paths.customModulesFile: tmp = ListItem.create() tmp['title'] = 'more...' tmp['type'] = 'command' #tmp['icon'] = os.path.join(common.Paths.imgDir, 'bookmark_add.png') action = 'RunPlugin(%s)' % (self.base + '?mode=' + str( Mode.DOWNLOADCUSTOMMODULE) + '&url=') tmp['url'] = action tmpList.items.append(tmp) # Create menu or play, if it's a single video and autoplay is enabled proceed = False count = len(tmpList.items) if count == 0: if url.startswith('favfolders'): proceed = True else: common.showInfo('No stream available') elif count > 0 and not (common.getSetting('autoplay') == 'true' and count == 1 and len(tmpList.getVideos()) == 1): # sort methods sortKeys = tmpList.sort.split('|') setSortMethodsForCurrentXBMCList(self.handle, sortKeys) # Add items to XBMC list for m in tmpList.items: self.addListItem(m, len(tmpList.items)) proceed = True endOfDirectory(proceed) common.log('End of directory') return tmpList
def run(self, argv=None): self.addon = Addon('plugin.video.ViendoKodiStreaming', argv) common.log('ViendoKodiStreaming running') base = argv[0] handle = int(argv[1]) parameter = argv[2] self.base = base self.handle = handle paramstring = urllib.unquote_plus(parameter) common.log(paramstring) try: # if addon is started listItemPath = xbmcUtils.getListItemPath() if not listItemPath.startswith(self.base): if not('mode=' in paramstring and not 'mode=1&' in paramstring): xbmcplugin.setPluginFanart(self.handle, common.Paths.pluginFanart) self.clearCache() #if common.getSetting('autoupdate') == 'true': # self.update() # Main Menu if '98VKS' in paramstring: nametorrent = os.path.normpath(paramstring.split('url=')[1]) if nametorrent == 'quasar': addonTorrent = 'item_info_build=plugin://plugin.video.quasar/play?uri=%s' elif nametorrent == 'pulsar': addonTorrent = 'item_info_build=plugin://plugin.video.pulsar/play?uri=%s' elif nametorrent == 'kmediatorrent': addonTorrent = 'item_info_build=plugin://plugin.video.kmediatorrent/play/%s' elif nametorrent == "torrenter": addonTorrent = 'item_info_build=plugin://plugin.video.torrenter/?action=playSTRM&url=%s¬_download_only=True' elif nametorrent == "yatp": addonTorrent = 'item_info_build=plugin://plugin.video.yatp/?action=play&torrent=%s' else: addonTorrent = 'item_info_build=plugin://plugin.video.xbmctorrent/play/%s' cFichero = common.Paths.catchersDir + '/'+'torrent.txt' outfile = open(cFichero, 'w') # Indicamos el valor 'w'. outfile.write('item_info_name=url\n' + 'item_info_from=@PARAM1@\n' + addonTorrent + '\n' ) outfile.close() common.showInfo('Para los torrent se utilizará ' + nametorrent ) elif len(paramstring) <= 2: mainMenu = ListItem.create() mainMenu['url'] = self.MAIN_MENU_FILE tmpList = self.parseView(mainMenu) if tmpList: self.currentlist = tmpList else: [mode, item] = self._parseParameters() # switch(mode) if mode == Mode.VIEW: tmpList = self.parseView(item) if tmpList: self.currentlist = tmpList count = len(self.currentlist.items) if count == 1: # Autoplay single video autoplayEnabled = common.getSetting('autoplay') == 'true' if autoplayEnabled: videos = self.currentlist.getVideos() if len(videos) == 1: self.playVideo(videos[0], True) elif mode == Mode.ADDITEM: tmp = os.path.normpath(paramstring.split('url=')[1]) if tmp: suffix = tmp.split(os.path.sep)[-1] tmp = tmp.replace(suffix,'') + urllib.quote_plus(suffix) if self.favouritesManager.add(tmp): xbmc.executebuiltin('Container.Refresh()') elif mode in [Mode.ADDTOFAVOURITES, Mode.REMOVEFROMFAVOURITES, Mode.EDITITEM]: if mode == Mode.ADDTOFAVOURITES: self.favouritesManager.addItem(item) elif mode == Mode.REMOVEFROMFAVOURITES: self.favouritesManager.removeItem(item) xbmc.executebuiltin('Container.Refresh()') elif mode == Mode.EDITITEM: if self.favouritesManager.editItem(item): xbmc.executebuiltin('Container.Refresh()') elif mode == Mode.EXECUTE: self.executeItem(item) elif mode == Mode.PLAY: self.playVideo(item) elif mode == Mode.WEBDRIVER: url = urllib.quote(item['url']) title = item['title'] self.playWebDriver(url, title) elif mode == Mode.QUEUE: self.queueAllVideos(item) elif mode == Mode.DOWNLOAD: url = urllib.unquote(item['url']) title = item['title'] self.downloadVideo(url, title) elif mode == Mode.CHROME: url = urllib.quote(item['url']) title = item['title'] self.launchChrome(url, title) elif mode == Mode.REMOVEFROMCUSTOMMODULES: self.removeCustomModule(item) #elif mode == Mode.UPDATE: # self.update() elif mode == Mode.SAY: #title = item['title'] url = "" elif mode == Mode.DOWNLOADCUSTOMMODULE: self.downloadCustomModule() elif mode == Mode.INSTALLADDON: success = install(item['url']) if success: xbmc.sleep(100) if xbmcUtils.getCurrentWindowXmlFile() == 'DialogAddonSettings.xml': # workaround to update settings dialog common.setSetting('', '') except Exception, e: common.showError('Error running ViendoKodiStreaming') common.log('Error running ViendoKodiStreaming. Reason:' + str(e))
def showListOptions(self,argv=None): params = self.parser.getParams() mode = self.parser.getIntParam(params, "mode") name = self.parser.getParam(params, "name") service = self.parser.getParam(params, "service") self.addon = Addon(scriptID, argv) print("MMMMMMMM",mode,params) mymodes = [common.Mode2.VIEW ,common.Mode2.PLAY, common.Mode2.ADDTOFAVOURITES, common.Mode2.EXECUTE] base = argv[0] handle = int(argv[1]) parameter = argv[2] self.base = base self.handle = handle paramstring = urllib.unquote_plus(parameter) #self.log.info(paramstring) #self.log.info('Base: '+ base) #self.log.info('Handle: '+ str(handle)) #self.log.info('Parameter: '+ parameter) #self.log.info('LEN: ' + str(len(paramstring))) #self.log.info('mode: ' + str(mode)) if mode == None and name == None and service == None: self.log.info('Wyświetlam kategorie') self.CATEGORIES() #self.LIST(MENU_TABLE) elif mode == 1: self.LIST(TV_ONLINE_TABLE) elif mode == 4: self.LIST(FUN_ONLINE_TABLE) elif mode == 19: self.LIST(SPORT_ONLINE_TABLE) elif mode == 2: self.LIST(FILM_ONLINE_TABLE) elif mode == 3: self.LIST(SERIALE_ONLINE_TABLE) elif mode == 20: self.log.info('Wyświetlam ustawienia') self.settings.showSettings() elif mode == 30: self.LIBRTMP() #elif mode == 30 and category=='update': # self.DLLIBRTMP(name,murl) elif mode in mymodes: try: # if addon is started listItemPath = xbmcUtils.getListItemPath() if not listItemPath.startswith(self.base): if not('mode=' in paramstring and not 'mode=110&' in paramstring): xbmcplugin.setPluginFanart(self.handle, common.Paths.pluginFanart) #if common.getSetting('autoupdate') == 'true': # self.update() # Main Menu if len(paramstring) <= 9: mainMenu = ListItem.create() mainMenu['url'] = self.MAIN_MENU_FILE tmpList = self.parseView(mainMenu) if tmpList: self.currentlist = tmpList else: [mode, item] = self._parseParameters() print("MMMMMMMM",mode,mydump(item)) # switch(mode) if mode == common.Mode2.VIEW: tmpList = self.parseView(item) print("MMMMMMMM",item,vars(item)) if tmpList: self.currentlist = tmpList count = len(self.currentlist.items) if count == 1: # Autoplay single video autoplayEnabled = ptv.getSetting('autoplay') == 'true' if autoplayEnabled: videos = self.currentlist.getVideos() if len(videos) == 1: self.playVideo(videos[0], True) elif mode == common.Mode2.ADDITEM: tmp = os.path.normpath(paramstring.split('url=')[1]) if tmp: suffix = tmp.split(os.path.sep)[-1] tmp = tmp.replace(suffix,'') + urllib.quote_plus(suffix) if self.favouritesManager.add(tmp): xbmc.executebuiltin('Container.Refresh()') elif mode in [common.Mode2.ADDTOFAVOURITES, common.Mode2.REMOVEFROMFAVOURITES, common.Mode2.EDITITEM]: if mode == common.Mode2.ADDTOFAVOURITES: self.favouritesManager.addItem(item) elif mode == common.Mode2.REMOVEFROMFAVOURITES: self.favouritesManager.removeItem(item) xbmc.executebuiltin('Container.Refresh()') elif mode == common.Mode2.EDITITEM: if self.favouritesManager.editItem(item): xbmc.executebuiltin('Container.Refresh()') elif mode == common.Mode2.PLAY: self.playVideo(item) except Exception, e: common.showError('Error running Mrknow') self.log.info('Error running Mrknow. Reason:' + str(e))
def showListOptions(self,argv=None): params = self.parser.getParams() mode = self.parser.getIntParam(params, "mode") name = self.parser.getParam(params, "name") service = self.parser.getParam(params, "service") self.addon = Addon(scriptID, argv) #print("MMMMMMMM",mode,params) mymodes = [common.Mode2.VIEW ,common.Mode2.PLAY, common.Mode2.ADDTOFAVOURITES, common.Mode2.EXECUTE] mymodes2 = [common.Mode3.VIEW ,common.Mode3.PLAY] base = argv[0] handle = int(argv[1]) parameter = argv[2] self.base = base self.handle = handle paramstring = urllib.unquote_plus(parameter) self.log.info(paramstring) self.log.info('Base: '+ base) self.log.info('Handle: '+ str(handle)) self.log.info('Parameter: '+ parameter) self.log.info('LEN: ' + str(len(paramstring))) self.log.info('mode: ' + str(mode)) if mode == None and name == None and service == None: self.log.info('Wyświetlam kategorie') self.CATEGORIES() #self.LIST(MENU_TABLE) elif mode == 1: self.LIST(TV_ONLINE_TABLE) elif mode == 4: self.LIST(FUN_ONLINE_TABLE) elif mode == 2: self.LIST(FILM_ONLINE_TABLE) elif mode == 3: self.LIST(SERIALE_ONLINE_TABLE) elif mode == 5: self.LIST(DOC_ONLINE_TABLE) elif mode == 6: self.LIST(VOD_ONLINE_TABLE) elif mode == 7: self.LIST(BAJKI_ONLINE_TABLE) elif mode == 20: self.log.info('Wyświetlam ustawienia') self.settings.showSettings() elif mode == 30: self.LIBRTMP() #elif mode == 30 and category=='update': # self.DLLIBRTMP(name,murl) elif mode in mymodes: #try: # if addon is started listItemPath = xbmcUtils.getListItemPath() if not listItemPath.startswith(self.base): if not('mode=' in paramstring and not 'mode=110&' in paramstring): xbmcplugin.setPluginFanart(self.handle, common.Paths.pluginFanart) #if common.getSetting('autoupdate') == 'true': # self.update() # Main Menu if len(paramstring) <= 9: mainMenu = ListItem.create() mainMenu['url'] = self.MAIN_MENU_FILE tmpList = self.parseView(mainMenu) if tmpList: self.currentlist = tmpList else: [mode, item] = self._parseParameters() #print("MMMMMMMM",mode,mydump(item)) # switch(mode) if mode == common.Mode2.VIEW: tmpList = self.parseView(item) #print("MMMMMMMM",item,vars(item)) if tmpList: self.currentlist = tmpList count = len(self.currentlist.items) if count == 1: # Autoplay single video autoplayEnabled = ptv.getSetting('autoplay') == 'true' if autoplayEnabled: videos = self.currentlist.getVideos() if len(videos) == 1: self.playVideo(videos[0], True) elif mode == common.Mode2.ADDITEM: tmp = os.path.normpath(paramstring.split('url=')[1]) if tmp: suffix = tmp.split(os.path.sep)[-1] tmp = tmp.replace(suffix,'') + urllib.quote_plus(suffix) if self.favouritesManager.add(tmp): xbmc.executebuiltin('Container.Refresh()') elif mode in [common.Mode2.ADDTOFAVOURITES, common.Mode2.REMOVEFROMFAVOURITES, common.Mode2.EDITITEM]: if mode == common.Mode2.ADDTOFAVOURITES: self.favouritesManager.addItem(item) elif mode == common.Mode2.REMOVEFROMFAVOURITES: self.favouritesManager.removeItem(item) xbmc.executebuiltin('Container.Refresh()') elif mode == common.Mode2.EDITITEM: if self.favouritesManager.editItem(item): xbmc.executebuiltin('Container.Refresh()') elif mode == common.Mode2.EXECUTE: self.executeItem(item) elif mode == common.Mode2.PLAY: self.playVideo(item) #except Exception, e: # common.showError('Error running Mrknow') # self.log.info('Error running Mrknow. m1 Reason:' + str(e)) elif mode in mymodes2: try: # if addon is started listItemPath = xbmcUtils.getListItemPath() if not listItemPath.startswith(self.base): if not('mode=' in paramstring and not 'mode=210&' in paramstring): xbmcplugin.setPluginFanart(self.handle, common.Paths.pluginFanart) #if common.getSetting('autoupdate') == 'true': # self.update() # Main Menu if len(paramstring) <= 9: mainMenu = ListItem.create() mainMenu['url'] = self.SPORT_MENU_FILE tmpList = self.parseView(mainMenu) if tmpList: self.currentlist = tmpList else: [mode, item] = self._parseParameters() #print("MMMMMMMM",mode,mydump(item)) # switch(mode) if mode == common.Mode2.VIEW: tmpList = self.parseView(item) #print("MMMMMMMM",item,vars(item)) if tmpList: self.currentlist = tmpList count = len(self.currentlist.items) if count == 1: # Autoplay single video autoplayEnabled = ptv.getSetting('autoplay') == 'true' if autoplayEnabled: videos = self.currentlist.getVideos() if len(videos) == 1: self.playVideo(videos[0], True) except Exception, e: common.showError('Error running Mrknow') self.log.info('Error running Mrknow. m2 Reason:' + str(e))
def _parseParameters(self): mode = int(self.addon.queries['mode']) queryString = self.addon.queries['item'] item = ListItem.create() item.infos = self.addon.parse_query(queryString,{}) return [mode, item]
def _parseParameters(self): mode = int(self.addon.queries['mode']) queryString = self.addon.queries['item'] item = ListItem.create() item.infos = self.addon.parse_query(queryString, {}) return [mode, item]