def parseUrl(): 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 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]) if cConfig().getSetting('githubUpdateXstream') == 'true': xbmc.executebuiltin('XBMC.RunPlugin(%s?function=updateXstream)' % sys.argv[0]) if cConfig().getSetting('githubUpdateUrlResolver') == 'true': 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 != '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() 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(): # remove fix for osmosis # 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 == 'updatestreamon': from resources.lib import updateManager updateManager.streamonUpdate() return elif sFunction == 'updateUrlResolver': from resources.lib import updateManager updateManager.urlResolverUpdate() return elif sFunction == 'updateAll': from resources.lib import updateManager updateManager.streamonUpdate() 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]) streamonUpdate = True if cConfig().getSetting( 'githubUpdatestreamon') == 'true' else False urlResolverUpdate = True if cConfig().getSetting( 'githubUpdateUrlResolver') == 'true' else False if streamonUpdate and urlResolverUpdate: xbmc.executebuiltin('XBMC.RunPlugin(%s?function=updateAll)' % sys.argv[0]) elif streamonUpdate: xbmc.executebuiltin('XBMC.RunPlugin(%s?function=updatestreamon)' % 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 == 'streamon': 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()