def getHosterUrl(sUrl=False): oParams = ParameterHandler() logger.info(oParams.getAllParameters()) if not sUrl: sUrl = oParams.getValue('url') results = [] result = {} result['streamUrl'] = sUrl result['resolved'] = False results.append(result) return results
def parseUrl(): params = ParameterHandler() # If no function is set, we set it to the default "load" function if params.exist('function'): sFunction = params.getValue('function') if sFunction == 'spacer': return True elif sFunction == 'clearCache': from resources.lib.handler.requestHandler import cRequestHandler cRequestHandler('dummy').clearCache() return elif sFunction == 'changeWatched': changeWatched(params) return elif sFunction == 'updateMeta': updateMeta(params) return elif sFunction == 'searchAlter': searchAlter(params) return else: sFunction = 'load' # Test if we should run a function on a special site if not params.exist('site'): xbmc.executebuiltin('XBMC.RunPlugin(%s?function=clearCache)' % sys.argv[0]) # As a default if no site was specified, we run the default starting gui with all plugins showMainMenu(sFunction) return sSiteName = params.getValue('site') logger.info (params.getAllParameters()) if params.exist('playMode'): from resources.lib.gui.hoster import cHosterGui url = False playMode = params.getValue('playMode') isHoster = params.getValue('isHoster') url = params.getValue('url') manual = params.exist('manual') if cConfig().getSetting('hosterSelect')=='auto' and playMode != 'jd' and playMode != 'pyload' and not manual: cHosterGui().streamAuto(playMode, sSiteName, sFunction) else: cHosterGui().stream(playMode, sSiteName, sFunction, url) return logger.info("Call function '%s' from '%s'" % (sFunction, sSiteName)) # If the hoster gui is called, run the function on it and return if sSiteName == 'cHosterGui': showHosterGui(sFunction) # If global search is called elif sSiteName == 'globalSearch': searchGlobal() elif sSiteName == 'favGui': showFavGui(sFunction) # If addon settings are called elif sSiteName == 'xStream': oGui = cGui() oGui.openSettings() oGui.updateDirectory() # If the urlresolver settings are called elif sSiteName == 'urlresolver': import urlresolver urlresolver.display_settings() # If metahandler settings are called elif sSiteName == 'metahandler': import metahandler metahandler.display_settings() else: # Else load any other site as plugin and run the function plugin = __import__(sSiteName, globals(), locals()) function = getattr(plugin, sFunction) function()
def startPlayer(self): logger.info('start player') sPlayerType = self.__getPlayerType() xbmcPlayer = xbmc.Player(sPlayerType) oPlayList = self.__getPlayList() xbmcPlayer.play(oPlayList) # For older Versions; dirty but works if (cConfig().isDharma() == False): oInputParameterHandler = ParameterHandler() aParams = oInputParameterHandler.getAllParameters() oGui = cGui() oGuiElement = cGuiElement() oGuiElement.setSiteName(aParams['site']) oGuiElement.setFunction(aParams['function']) oGui.addFolder(oGuiElement) oGui.setEndOfDirectory() if cConfig().getSetting('metahandler')=='true': META = True try: import resources.lib.handler.metaHandler as metahandlers #from metahandler import metahandlers except: META = False logger.info("Could not import package 'metahandler'") else: META = False if META: percent = 0 while xbmcPlayer.isPlaying(): time.sleep(5) try: totalTime = xbmcPlayer.getTotalTime() playedTime = xbmcPlayer.getTime() percent = playedTime/totalTime except: logger.info('Watched percent '+str(int(percent*100))) percent = playedTime/totalTime if percent >= 0.80: logger.info('Attemt to change watched status') meta = metahandlers.MetaData() params = ParameterHandler() season = '' episode = '' mediaType = params.getValue('mediaType') imdbID = params.getValue('imdbID') name = params.getValue('Title') if params.exist('season'): season = params.getValue('season') if int(season) > 0:mediaType = 'season' if params.exist('episode'): episode = params.getValue('episode') if int(episode) > 0: mediaType = 'episode' if imdbID and mediaType: meta.change_watched(mediaType, name, imdbID, season=season, episode=episode) xbmc.executebuiltin("XBMC.Container.Refresh") else: logger.info('Could not change watched status; imdbID or mediaType missing') pass
def parseUrl(): params = ParameterHandler() # If no function is set, we set it to the default "load" function if params.exist('function'): sFunction = params.getValue('function') if sFunction == 'spacer': return True elif sFunction == 'clearCache': from resources.lib.handler.requestHandler import cRequestHandler cRequestHandler('dummy').clearCache() return elif sFunction == 'changeWatched': changeWatched(params) return elif sFunction == 'updateMeta': updateMeta(params) return else: sFunction = 'load' # Test if we should run a function on a special site if params.exist('site'): sSiteName = params.getValue('site') logger.info(params.getAllParameters()) if params.exist('playMode'): from resources.lib.gui.hoster import cHosterGui url = False playMode = params.getValue('playMode') isHoster = params.getValue('isHoster') if isHoster == 'true': url = params.getValue('url') if cConfig().getSetting( 'autoPlay' ) == 'true' and playMode != 'jd' and playMode != 'pyload': cHosterGui().streamAuto(playMode, sSiteName, sFunction) else: cHosterGui().stream(playMode, sSiteName, sFunction, url) return else: logger.info("Call function '%s' from '%s'" % (sFunction, sSiteName)) # If the hoster gui is called, run the function on it and return if sSiteName == 'cHosterGui': showHosterGui(sFunction) return # If global search is called elif sSiteName == 'globalSearch': searchGlobal() return elif sSiteName == 'favGui': showFavGui(sFunction) return # If addon settings are called elif sSiteName == 'xStream': oGui = cGui() oGui.openSettings() oGui.updateDirectory() return # If the urlresolver settings are called elif sSiteName == 'urlresolver': import urlresolver urlresolver.display_settings() return # If metahandler settings are called elif sSiteName == 'metahandler': import metahandler metahandler.display_settings() return else: # Else load any other site as plugin and run the function plugin = __import__(sSiteName, globals(), locals()) function = getattr(plugin, sFunction) function() else: xbmc.executebuiltin('XBMC.RunPlugin(%s?function=clearCache)' % sys.argv[0]) # As a default if no site was specified, we run the default starting gui with all plugins showMainMenu(sFunction)
def parseUrl(): import urlparse netloc = [urlparse.urlparse(sys.argv[0]).netloc, ''] #if xbmc.getInfoLabel('Container.PluginName') not in netloc: # sys.exit() # return params = ParameterHandler() logger.info(params.getAllParameters()) # If no function is set, we set it to the default "load" function if params.exist('function'): sFunction = params.getValue('function') if sFunction == 'spacer': return True elif sFunction == 'clearCache': from resources.lib.handler.requestHandler import cRequestHandler cRequestHandler('dummy').clearCache() return elif sFunction == 'changeWatched': changeWatched(params) return elif sFunction == 'updateMeta': updateMeta(params) return elif sFunction == 'searchAlter': searchAlter(params) return elif sFunction == 'updateXstream': from resources.lib import updateManager updateManager.xStreamUpdate() return elif sFunction == 'updateUrlResolver': from resources.lib import updateManager updateManager.urlResolverUpdate() return elif sFunction == 'updateAll': from resources.lib import updateManager updateManager.xStreamUpdate() updateManager.urlResolverUpdate() return elif params.exist('remoteplayurl'): try: import urlresolver remotePlayUrl = params.getValue('remoteplayurl') sLink = urlresolver.resolve(remotePlayUrl) if sLink: xbmc.executebuiltin("PlayMedia(" + sLink + ")") else: logger.info("Could not play remote url '%s'" % sLink) except urlresolver.resolver.ResolverError as e: logger.info('ResolverError: %s' % e) return else: sFunction = 'load' # Test if we should run a function on a special site if not params.exist('site'): xbmc.executebuiltin('XBMC.RunPlugin(%s?function=clearCache)' % sys.argv[0]) xStreamUpdate = True if cConfig().getSetting('githubUpdateXstream') == 'true' else False urlResolverUpdate = True if cConfig().getSetting('githubUpdateUrlResolver') == 'true' else False if xStreamUpdate and urlResolverUpdate: xbmc.executebuiltin('XBMC.RunPlugin(%s?function=updateAll)' % sys.argv[0]) elif xStreamUpdate: xbmc.executebuiltin('XBMC.RunPlugin(%s?function=updateXstream)' % sys.argv[0]) elif urlResolverUpdate: xbmc.executebuiltin('XBMC.RunPlugin(%s?function=updateUrlResolver)' % sys.argv[0]) # As a default if no site was specified, we run the default starting gui with all plugins showMainMenu(sFunction) return sSiteName = params.getValue('site') if params.exist('playMode'): from resources.lib.gui.hoster import cHosterGui url = False playMode = params.getValue('playMode') isHoster = params.getValue('isHoster') url = params.getValue('url') manual = params.exist('manual') if cConfig().getSetting( 'hosterSelect') == 'Auto' and playMode != 'jd' and playMode != 'jd2' and playMode != 'pyload' and not manual: cHosterGui().streamAuto(playMode, sSiteName, sFunction) else: cHosterGui().stream(playMode, sSiteName, sFunction, url) return logger.info("Call function '%s' from '%s'" % (sFunction, sSiteName)) # If the hoster gui is called, run the function on it and return if sSiteName == 'cHosterGui': showHosterGui(sFunction) # If global search is called elif sSiteName == 'globalSearch': searchterm = False if params.exist('searchterm'): searchterm = params.getValue('searchterm') searchGlobal(searchterm) elif sSiteName == 'favGui': showFavGui(sFunction) # If addon settings are called elif sSiteName == 'xStream': oGui = cGui() oGui.openSettings() oGui.updateDirectory() # If the urlresolver settings are called elif sSiteName == 'urlresolver': import urlresolver urlresolver.display_settings() # If metahandler settings are called elif sSiteName == 'metahandler': import metahandler metahandler.display_settings() elif sSiteName == 'settings': oGui = cGui() for folder in settingsGuiElements(): oGui.addFolder(folder) oGui.setEndOfDirectory() else: # Else load any other site as plugin and run the function plugin = __import__(sSiteName, globals(), locals()) function = getattr(plugin, sFunction) function()
def parseUrl(): oInputParameterHandler = ParameterHandler() # If no function is set, we set it to the default "load" function if oInputParameterHandler.exist("function"): sFunction = oInputParameterHandler.getValue("function") if sFunction == 'spacer': return True if sFunction == 'changeWatched': if cConfig().getSetting('metahandler')=='true': #videoType, name, imdbID, season=season, episode=episode, year=year, watched=watched try: from metahandler import metahandlers meta = metahandlers.MetaData() #print oInputParameterHandler.getAllParameters() params = oInputParameterHandler season = '' episode = '' mediaType = params.getValue('mediaType') imdbID = params.getValue('imdbID') name = params.getValue('title') if params.exist('season'): season = params.getValue('season') if params.exist('episode'): episode = params.getValue('episode') if imdbID: meta.change_watched(mediaType, name, imdbID, season=season, episode=episode) xbmc.executebuiltin("XBMC.Container.Refresh") except: META = False logger.info("Could not import package 'metahandler'") return if sFunction == 'updateMeta': if cConfig().getSetting('metahandler')=='true': #videoType, name, imdbID, season=season, episode=episode, year=year, watched=watched try: import resources.lib.handler.metaHandler as metahandlers #from metahandler import metahandlers except: logger.info("Could not import package 'metaHandler'") return meta = metahandlers.MetaData() params = oInputParameterHandler season = '' episode = '' mediaType = params.getValue('mediaType') imdbID = params.getValue('imdbID') name = str(params.getValue('title')) year = params.getValue('year') # show meta search input oGui = cGui() sSearchText = oGui.showKeyBoard(name) if (sSearchText != False and sSearchText != ''): if mediaType == 'movie': try: foundInfo = meta.search_movies(sSearchText) except: logger.info('error or nothing found') foundInfo = False elif mediaType == 'tvshow': foundInfo = metahandlers.TheTVDB().get_matching_shows(sSearchText) else: return else: return if not foundInfo: oGui.showInfo('xStream', 'Suchanfrage lieferte kein Ergebnis') return # select possible match dialog = xbmcgui.Dialog() items = [] for item in foundInfo: if mediaType == 'movie': items.append(str(item['title'].encode('utf-8'))+' ('+str(item['year'])+')') elif mediaType == 'tvshow': items.append(str(item[1])) else: return index = dialog.select('Film/Serie wählen', items) if index > -1: item = foundInfo[index] else: return False if not imdbID: imdbID = '' if not year: year = '' if mediaType == 'movie': meta.update_meta(mediaType, name, imdbID, new_imdb_id=str(item['imdb_id']), new_tmdb_id=str(item['tmdb_id']), year=year) elif mediaType == 'tvshow': meta.update_meta(mediaType, name, imdbID, new_imdb_id=str(item[2]), year=year) #print oInputParameterHandler.getAllParameters() #if params.exist('season'): # season = params.getValue('season') #if params.exist('episode'): # episode = params.getValue('episode') #meta.update_meta(mediaType, name, imdbID, season=season, episode=episode) xbmc.executebuiltin("XBMC.Container.Refresh") return else: sFunction = "load" # Test if we should run a function on a special site if oInputParameterHandler.exist('site'): sSiteName = oInputParameterHandler.getValue('site') logger.info (oInputParameterHandler.getAllParameters()) if oInputParameterHandler.exist('playMode'): playMode = oInputParameterHandler.getValue('playMode') if cConfig().getSetting('autoPlay')=='true' and playMode != 'jd': cHosterGui().streamAuto(playMode, sSiteName, sFunction) else: cHosterGui().stream(playMode, sSiteName, sFunction) return else: logger.info("Call function '%s' from '%s'" % (sFunction, sSiteName)) # If the hoster gui is called, run the function on it and return if sSiteName == 'cHosterGui': showHosterGui(sFunction) return # If global search is called if sSiteName == 'globalSearch': searchGlobal() return if sSiteName == 'favGui': showFavGui(sFunction) return # If addon settings are called if sSiteName == 'xStream': oGui = cGui() oGui.openSettings() oGui.updateDirectory() return # If the urlresolver settings are called if sSiteName == 'urlresolver': import urlresolver urlresolver.display_settings() return # If metahandler settings are called if sSiteName == 'metahandler': import metahandler metahandler.display_settings() return # Else load any other site as plugin and run the function plugin = __import__(sSiteName, globals(), locals()) function = getattr(plugin, sFunction) function() else: # As a default if no site was specified, we run the default starting gui with all plugins showMainMenu(sFunction)