def viewSimil(self): sPluginPath = cPluginHandler().getPluginPath() oInputParameterHandler = cInputParameterHandler() sCleanTitle = oInputParameterHandler.getValue( 'sFileName') if oInputParameterHandler.exist( 'sFileName') else xbmc.getInfoLabel( 'ListItem.Property(sCleanTitle)') sCat = oInputParameterHandler.getValue( 'sCat') if oInputParameterHandler.exist( 'sCat') else xbmc.getInfoLabel('ListItem.Property(sCat)') oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('searchtext', sCleanTitle) oOutputParameterHandler.addParameter('sCat', sCat) oOutputParameterHandler.addParameter('readdb', 'False') sParams = oOutputParameterHandler.getParameterAsUri() sTest = '%s?site=%s&function=%s&%s' % (sPluginPath, 'globalSearch', 'globalSearch', sParams) # Si lancé depuis la page Home de Kodi, il faut d'abord en sortir pour lancer la recherche if xbmc.getCondVisibility('Window.IsVisible(home)'): xbmc.executebuiltin('ActivateWindow(%d)' % (10028)) xbmc.executebuiltin('Container.Update(%s)' % sTest) return False
def setWatched(self): if True: # Use vStream database oInputParameterHandler = cInputParameterHandler() sSite = oInputParameterHandler.getValue('siteUrl') sTitle = oInputParameterHandler.getValue('sTitleWatched') if not sTitle: return meta = {} meta['title'] = sTitle meta['site'] = sSite db = cDb() row = db.get_watched(meta) if row: db.del_watched(meta) db.del_resume(meta) else: db.insert_watched(meta) # To test # updateDirectory() else: # Use kodi buildin feature xbmc.executebuiltin('Action(ToggleWatched)')
def selectPage(self): sPluginPath = cPluginHandler().getPluginPath() oInputParameterHandler = cInputParameterHandler() # sParams = oInputParameterHandler.getAllParameter() sId = oInputParameterHandler.getValue('sId') sFunction = oInputParameterHandler.getValue('OldFunction') siteUrl = oInputParameterHandler.getValue('siteUrl') if siteUrl.endswith( '/'): # for the url http.://www.1test.com/annee-2020/page-2/ urlSource = siteUrl.rsplit('/', 2)[0] endOfUrl = siteUrl.rsplit('/', 2)[1] + '/' else: # for the url http.://www.1test.com/annee-2020/page-2 or /page-2.html urlSource = siteUrl.rsplit('/', 1)[0] endOfUrl = siteUrl.rsplit('/', 1)[1] oParser = cParser() oldNum = oParser.getNumberFromString(endOfUrl) newNum = 0 if oldNum: newNum = self.showNumBoard() if newNum: try: siteUrl = urlSource + '/' + endOfUrl.replace(oldNum, newNum, 1) oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', siteUrl) sParams = oOutputParameterHandler.getParameterAsUri() sTest = '%s?site=%s&function=%s&%s' % (sPluginPath, sId, sFunction, sParams) xbmc.executebuiltin('Container.Update(%s)' % sTest) except: return False return False
def play__(): # Lancer les liens oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl').replace('P_L_U_S', '+') sTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') # Special url with tag if '[' in sUrl and ']' in sUrl: sUrl = GetRealUrl(sUrl) if 'f4mTester' in sUrl: xbmc.executebuiltin('XBMC.RunPlugin(' + sUrl + ')') return else: oGuiElement = cGuiElement() oGuiElement.setSiteName(SITE_IDENTIFIER) oGuiElement.setTitle(sTitle) sUrl = sUrl.replace(' ', '%20') oGuiElement.setMediaUrl(sUrl) oGuiElement.setThumbnail(sThumbnail) oPlayer = cPlayer() oPlayer.clearPlayList() oPlayer.addItemToPlaylist(oGuiElement) # tout repeter xbmc.executebuiltin('xbmc.playercontrol(RepeatAll)') oPlayer.startPlayer() return
def viewBack(self): sPluginPath = cPluginHandler().getPluginPath() oInputParameterHandler = cInputParameterHandler() # sParams = oInputParameterHandler.getAllParameter() sId = oInputParameterHandler.getValue('sId') sTest = '%s?site=%s' % (sPluginPath, sId) xbmc.executebuiltin('Container.Update(%s, replace)' % sTest)
def showSearch(): VSlog('showSearch global0') oGui = cGui() addons = addon() VSlog('showSearch global1') oInputParameterHandler = cInputParameterHandler() VSlog('showSearch global2') sSearchText = oInputParameterHandler.getValue('searchtext') VSlog('showSearch global3') sCat = oInputParameterHandler.getValue('sCat') VSlog('showSearch global4') VSlog('sText=' + str(sSearchText)) oHandler = cRechercheHandler() oHandler.setText(sSearchText) oHandler.setCat(sCat) aPlugins = oHandler.getAvailablePlugins() if not aPlugins: return True VSlog('aPlugins=' + str(len(aPlugins))) total = len(aPlugins) progress_ = progress().VScreate(large=True) # kodi 17 vire la fenetre busy qui se pose au dessus de la barre de Progress try: xbmc.executebuiltin('Dialog.Close(busydialog)') except: pass oGui.addText('globalSearch', addons.VSlang(30081) % sSearchText, 'search.png') sSearchText = Quote(sSearchText) count = 1 for plugin in aPlugins: if not os.path.exists( GetCacheSubDir('Tsiplayer') + 'VStream_listing.search'): break progress_.VSupdate(progress_, total, plugin['name'], True) if progress_.iscanceled(): break oGui.addText(plugin['identifier'], '%s. [COLOR olive]%s[/COLOR]' % (count, plugin['name']), 'sites/%s.png' % (plugin['identifier'])) oGui.searchResults[:] = [ ] # vider le tableau de résultats pour les récupérer par source _pluginSearch(plugin, sSearchText) count += 1 if not count: # aucune source ne retourne de résultats oGui.addText('globalSearch') # "Aucune information" progress_.VSclose(progress_) cGui.CONTENT = 'files' oGui.setEndOfDirectory() return True
def selectPage2(self): sPluginPath = cPluginHandler().getPluginPath() oInputParameterHandler = cInputParameterHandler() sId = oInputParameterHandler.getValue('sId') sFunction = oInputParameterHandler.getValue('OldFunction') siteUrl = oInputParameterHandler.getValue('siteUrl') selpage = self.showNumBoard() oOutputParameterHandler = cOutputParameterHandler() oOutputParameterHandler.addParameter('siteUrl', siteUrl) oOutputParameterHandler.addParameter('Selpage', selpage) sParams = oOutputParameterHandler.getParameterAsUri() sTest = '%s?site=%s&function=%s&%s' % (sPluginPath, sId, sFunction, sParams) xbmc.executebuiltin('Container.Update(%s, replace)' % sTest)
def viewInfo(self): if addon().getSetting('information-view') == "false": from resources.lib.config import WindowsBoxes oInputParameterHandler = cInputParameterHandler() sCleanTitle = oInputParameterHandler.getValue( 'sFileName') if oInputParameterHandler.exist( 'sFileName') else xbmc.getInfoLabel( 'ListItem.Property(sCleanTitle)') sMeta = oInputParameterHandler.getValue( 'sMeta') if oInputParameterHandler.exist( 'sMeta') else xbmc.getInfoLabel('ListItem.Property(sMeta)') sYear = oInputParameterHandler.getValue( 'sYear') if oInputParameterHandler.exist( 'sYear') else xbmc.getInfoLabel('ListItem.Year') WindowsBoxes(sCleanTitle, sCleanTitle, sMeta, sYear) else: # On appel la fonction integrer a Kodi pour charger les infos. xbmc.executebuiltin('Action(Info)')
def updateDirectory(self): # refresh the content xbmc.executebuiltin('Container.Refresh') xbmc.sleep(600) # Nécessaire pour laisser le temps du refresh
def openwindows(): xbmc.executebuiltin('ActivateWindow(%d, return)' % 10601) return
def play__(): # Lancer les liens oGui = cGui() oInputParameterHandler = cInputParameterHandler() sUrl = oInputParameterHandler.getValue('siteUrl').replace('P_L_U_S', '+') sTitle = oInputParameterHandler.getValue('sMovieTitle') sThumbnail = oInputParameterHandler.getValue('sThumbnail') sDesc = oInputParameterHandler.getValue('sDesc') # Special url with tag if '[' in sUrl and ']' in sUrl: sUrl = GetRealUrl(sUrl) elif not xbmc.getInfoLabel('system.buildversion')[0:2] >= '19': stype = '' if '.ts' in sUrl: stype = 'TSDOWNLOADER' elif '.m3u' in sUrl: pass if stype: from F4mProxy import f4mProxyHelper f4mp = f4mProxyHelper() xbmcplugin.endOfDirectory(int(sys.argv[1]), cacheToDisc=True) f4mp.playF4mLink(sUrl, sTitle, proxy=None, use_proxy_for_chunks=False, maxbitrate=0, simpleDownloader=True, auth=None, streamtype=stype, setResolved=True, swf=None, callbackpath='', callbackparam='', iconImage=sThumbnail) return if 'f4mTester' in sUrl: xbmc.executebuiltin('XBMC.RunPlugin(' + sUrl + ')') return # Bug specifique au flux france TV # eof detectedL elif 'ftven.fr' in sUrl: oGuiElement = cGuiElement() oGuiElement.setSiteName(SITE_IDENTIFIER) oGuiElement.setTitle(sTitle) sUrl = sUrl.replace(' ', '%20') oGuiElement.setMediaUrl(sUrl) oGuiElement.setThumbnail(sThumbnail) oGuiElement.setDescription(sDesc) oPlayer = cPlayer() oPlayer.clearPlayList() oPlayer.addItemToPlaylist(oGuiElement) oPlayer.startPlayer() else: oHoster = cHosterGui().checkHoster(sUrl) if (oHoster != False): oHoster.setDisplayName(sTitle) oHoster.setFileName(sTitle) cHosterGui().showHoster(oGui, oHoster, sUrl, sThumbnail) oGui.setEndOfDirectory()