def borrar_busqueda(params,url,category):
	channel = params.get("channel")
	matches = []
	try:
		presets = config.getSetting("presets_buscados")
		if "|" in presets:
			presets = matches = presets.split("|")
			for count, preset in enumerate( presets ):
				if url in preset:
					del presets[ count ]
					break
		elif presets == url:
			presets = ""
			
	except:
		presets = ""
	if len(matches)>1:
		presets2 = ""
		c = 0
		barra = ""
		for preset in presets:
			if c>0:
				barra = "|"
			presets2 =  presets2 + barra + preset 
			c +=1
		presets = presets2
	elif len(matches) == 1:
		presets = presets[0]
	config.setSetting("presets_buscados",presets)
    # refresh container so item is removed
	xbmc.executebuiltin( "Container.Refresh" )
示例#2
0
def borrar_busqueda(params, url, category):
    channel = params.get("channel")
    matches = []
    try:
        presets = config.get_setting("presets_buscados")
        if "|" in presets:
            presets = matches = presets.split("|")
            for count, preset in enumerate(presets):
                if url in preset:
                    del presets[count]
                    break
        elif presets == url:
            presets = ""

    except:
        presets = ""
    if len(matches) > 1:
        presets2 = ""
        c = 0
        barra = ""
        for preset in presets:
            if c > 0:
                barra = "|"
            presets2 = presets2 + barra + preset
            c += 1
        presets = presets2
    elif len(matches) == 1:
        presets = presets[0]
    config.setSetting("presets_buscados", presets)
    # refresh container so item is removed
    xbmc.executebuiltin("Container.Refresh")
def salvar_busquedas(params,url,category):
	channel = params.get("channel")
	limite_busquedas = ( 10, 20, 30, 40, )[ int( config.getSetting( "limite_busquedas" ) ) ]
	matches = []
	try:
		presets = config.getSetting("presets_buscados")
		if "|" in presets:
			presets = matches = presets.split("|")			
			for count, preset in enumerate( presets ):
				if url in preset:
					del presets[ count ]
					break
		
		if len( presets ) >= limite_busquedas:
			presets = presets[ : limite_busquedas - 1 ]
	except:
		presets = ""
	presets2 = ""
	if len(matches)>0:
		for preset in presets:
			presets2 = presets2 + "|" + preset 
		presets = url + presets2
	elif presets != "":
		presets = url + "|" + presets
	else:
		presets = url
	config.setSetting("presets_buscados",presets)
def mainlist(params,url,category):
	logger.info("[peliculasyonkis.py] mainlist")
	
	activar = config.getSetting("activar")
	print "activado como :%s" %activar
	if activar == "":
		activar = "false"
		config.setSetting("activar",activar)
	if activar == "false":
		flecha = "+"
	else:
		flecha = "-"
	# Añade al listado de XBMC
	
	xbmctools.addnewfolder( CHANNELNAME , "listnovedades"  , category , "Estrenos de cartelera" ,"http://www.peliculasyonkis.com/ultimas-peliculas/cartelera/","","")
	xbmctools.addnewfolder( CHANNELNAME , "listnovedades"  , category , "Estrenos de DVD" ,"http://www.peliculasyonkis.com/ultimas-peliculas/estrenos-dvd/","","")
	xbmctools.addnewfolder( CHANNELNAME , "listnovedades"  , category , "Ultimas Peliculas Actualizadas","http://www.peliculasyonkis.com/ultimas-peliculas/actualizadas/","","")
	xbmctools.addnewfolder( CHANNELNAME , "listnovedades"  , category , "Ultimas peliculas añadidas a la web","http://www.peliculasyonkis.com/ultimas-peliculas/estrenos-web/","","")
	xbmctools.addnewfolder( CHANNELNAME , "listcategorias" , category , "Listado por categorias","http://www.peliculasyonkis.com/","","")
	xbmctools.addnewfolder( CHANNELNAME , "listalfabetico" , category , "Listado alfabético","http://www.peliculasyonkis.com/","","")
	xbmctools.addnewfolder( CHANNELNAME , "buscaporanyo"   , category , "Busqueda por Año","http://www.peliculasyonkis.com/","","")
	xbmctools.addnewfolder( CHANNELNAME , "search"         , category , "Buscar","","","")

	# Label (top-right)...
	xbmcplugin.setPluginCategory( handle=int( sys.argv[ 1 ] ), category=category )

	# Disable sorting...
	xbmcplugin.addSortMethod( handle=int( sys.argv[ 1 ] ), sortMethod=xbmcplugin.SORT_METHOD_NONE )

	# End of directory...
	xbmcplugin.endOfDirectory( handle=int( sys.argv[ 1 ] ), succeeded=True )
示例#5
0
def salvar_busquedas(params, url, category):
    channel = params.get("channel")
    limite_busquedas = (
        10,
        20,
        30,
        40,
    )[int(config.get_setting("limite_busquedas"))]
    matches = []
    try:
        presets = config.get_setting("presets_buscados")
        if "|" in presets:
            presets = matches = presets.split("|")
            for count, preset in enumerate(presets):
                if url in preset:
                    del presets[count]
                    break

        if len(presets) >= limite_busquedas:
            presets = presets[:limite_busquedas - 1]
    except:
        presets = ""
    presets2 = ""
    if len(matches) > 0:
        for preset in presets:
            presets2 = presets2 + "|" + preset
        presets = url + presets2
    elif presets != "":
        presets = url + "|" + presets
    else:
        presets = url
    config.setSetting("presets_buscados", presets)
示例#6
0
def Activar_Novedades(params,activar,category):
    if activar == "false":
        config.setSetting("activar","true")
    else:
        config.setSetting("activar","false")
    print "opcion menu novedades :%s" %config.getSetting("activar")
    
    #xbmc.executebuiltin('Container.Update')    
    xbmc.executebuiltin('Container.Refresh')
示例#7
0
def Activar_Novedades(params, activar, category):
    if activar == "false":
        config.setSetting("activar", "true")
    else:
        config.setSetting("activar", "false")
    print "opcion menu novedades :%s" % config.getSetting("activar")

    #xbmc.executebuiltin('Container.Update')
    xbmc.executebuiltin('Container.Refresh')
示例#8
0
def getDownloadListPath():

    # La ruta de la lista de descargas es un parámetro
    downloadpath = config.get_setting("downloadlistpath")

    # No está fijada, intenta forzarla
    try:
        if downloadpath == "":
            logger.info("[downloadtools.py] downloadpath está vacio")

            # Busca un setting del skin (Telebision)
            try:
                import xbmc
                downloadpath = xbmc.getInfoLabel('Skin.String(downloadpath)')
                logger.info("[downloadtools.py] downloadpath en el skin es " +
                            downloadpath)
            except:
                pass

            # No es Telebision, fuerza el directorio home de XBMC
            if downloadpath == "":
                downloadpath = os.path.join(config.DATA_PATH, "downloads",
                                            "list")
                logger.info(
                    "[downloadtools.py] getDownloadPath: downloadpath=%s" %
                    downloadpath)
                if not os.path.exists(downloadpath):
                    logger.info(
                        "[downliadtools.py] download path doesn't exist:" +
                        downloadpath)
                    os.mkdir(downloadpath)
                config.setSetting("downloadlistpath", downloadpath)

            # Es Telebision, lo pone en el skin
            else:
                # guardar setting del skin en setting del plugin
                downloadpath = os.path.join(downloadpath, "list")
                downloadpath = xbmc.translatePath(downloadpath)
                logger.info("[downloadtools.py] downloadpath nativo es " +
                            downloadpath)
                config.setSetting("downloadlistpath", downloadpath)
    except:
        pass

    logger.info("[downloadtools.py] downloadlistpath=" + downloadpath)

    try:
        os.mkdir(downloadpath)
    except:
        pass

    return downloadpath
def play2(params,url,category):
	logger.info("[cineadicto.py] play2")
	url1 = url
	if "|" in url:
		urlsplited = url.split("|")
		url1 = urlsplited[0]
		urlsubtit = urlsplited[1]
		subt_ok = "0"
		while subt_ok == "0":
			subt_ok = downloadstr(urlsubtit)
			print "subtitulo subt_ok = %s" % str(subt_ok)
			if subt_ok is None: # si es None la descarga del subtitulo esta ok
				config.setSetting("subtitulo", "true")
				break
	play(params,url1,category)
示例#10
0
def play2(params, url, category):
    logger.info("[newdivx.py] play")
    url1 = url
    if "|" in url:
        urlsplited = url.split("|")
        url1 = urlsplited[0]
        urlsubtit = urlsplited[1]
        subt_ok = "0"
        while subt_ok == "0":
            subt_ok = downloadstr(urlsubtit)
            print "subtitulo subt_ok = %s" % str(subt_ok)
            if subt_ok is None:  # si es None la descarga del subtitulo esta ok
                config.setSetting("subtitulo", "true")
                break
    play(params, url1, category)
示例#11
0
def getDownloadListPath():

    # La ruta de la lista de descargas es un parámetro
    downloadpath = config.get_setting("downloadlistpath")

    # No está fijada, intenta forzarla
    try:
        if downloadpath == "":
            logger.info("[downloadtools.py] downloadpath está vacio")

            # Busca un setting del skin (Telebision)
            try:
                import xbmc

                downloadpath = xbmc.getInfoLabel("Skin.String(downloadpath)")
                logger.info("[downloadtools.py] downloadpath en el skin es " + downloadpath)
            except:
                pass

                # No es Telebision, fuerza el directorio home de XBMC
            if downloadpath == "":
                downloadpath = os.path.join(config.DATA_PATH, "downloads", "list")
                logger.info("[downloadtools.py] getDownloadPath: downloadpath=%s" % downloadpath)
                if not os.path.exists(downloadpath):
                    logger.info("[downliadtools.py] download path doesn't exist:" + downloadpath)
                    os.mkdir(downloadpath)
                config.setSetting("downloadlistpath", downloadpath)

                # Es Telebision, lo pone en el skin
            else:
                # guardar setting del skin en setting del plugin
                downloadpath = os.path.join(downloadpath, "list")
                downloadpath = xbmc.translatePath(downloadpath)
                logger.info("[downloadtools.py] downloadpath nativo es " + downloadpath)
                config.setSetting("downloadlistpath", downloadpath)
    except:
        pass

    logger.info("[downloadtools.py] downloadlistpath=" + downloadpath)

    try:
        os.mkdir(downloadpath)
    except:
        pass

    return downloadpath
def getDownloadListPath():
	
	# La ruta de la lista de descargas es un parámetro
	downloadpath = config.getSetting("downloadlistpath")
	
	# No está fijada, intenta forzarla
	try:
		if downloadpath == "":
			xbmc.output("[downloadtools.py] downloadpath está vacio")
			
			# Busca un setting del skin (Telebision)
			downloadpath = xbmc.getInfoLabel('Skin.String(downloadpath)')
			xbmc.output("[downloadtools.py] downloadpath en el skin es "+downloadpath)
			
			# No es Telebision, fuerza el directorio home de XBMC
			if downloadpath == "":
				downloadpath = xbmc.translatePath( "special://home/downloads/list")
				xbmc.log("[downloadtools.py] getDownloadPath: downloadpath=%s" % downloadpath)
				config.setSetting("downloadlistpath",downloadpath)
			
			# Es Telebision, lo pone en el skin
			else:
				# guardar setting del skin en setting del plugin
				downloadpath = os.path.join( downloadpath , "list" )
				downloadpath = xbmc.translatePath( downloadpath )
				xbmc.output("[downloadtools.py] downloadpath nativo es "+downloadpath)
				config.setSetting("downloadlistpath", downloadpath)
	except:
		pass
	
	xbmc.output("[downloadtools.py] downloadlistpath="+downloadpath)
	
	try:
		os.mkdir(downloadpath)
	except:
		pass

	return downloadpath
def playvideoEx(canal,server,url,category,title,thumbnail,plot,desdefavoritos,desdedescargados,desderrordescargas,strmfile=False,Serie=""):

	logger.info("[xbmctools.py] playvideo")
	logger.info("[xbmctools.py] playvideo canal="+canal)
	logger.info("[xbmctools.py] playvideo server="+server)
	logger.info("[xbmctools.py] playvideo url="+url)
	logger.info("[xbmctools.py] playvideo category="+category)
	logger.info("[xbmctools.py] playvideo serie="+Serie)
	
	# Parametrizacion especifica
	import parametrizacion

	# Abre el diálogo de selección
	opciones = []
	default_action = config.getSetting("default_action")
	# Los vídeos de Megavídeo sólo se pueden ver en calidad alta con cuenta premium
	# Los vídeos de Megaupload sólo se pueden ver con cuenta premium, en otro caso pide captcha
	if (server=="Megavideo" or server=="Megaupload") and config.getSetting("megavideopremium")=="true":
		opciones.append(config.getLocalizedString(30150)+" ["+server+"]") # "Ver en calidad alta"
		# Si la accion por defecto es "Ver en calidad alta", la seleccion se hace ya
		if default_action=="2":
			seleccion = len(opciones)-1

	# Los vídeos de Megavídeo o Megaupload se pueden ver en calidad baja sin cuenta premium, aunque con el límite
	if (server=="Megavideo" or server=="Megaupload"):
		opciones.append(config.getLocalizedString(30152)+" [Megavideo]") # "Ver en calidad baja"
		# Si la accion por defecto es "Ver en calidad baja", la seleccion se hace ya
		if default_action=="1":
			seleccion = len(opciones)-1
	else:
		opciones.append(config.getLocalizedString(30151)+" ["+server+"]") # "Ver en calidad normal"
		# Si la accion por defecto es "Ver en calidad baja", la seleccion se hace ya
		if default_action<>"0":  #Si hay alguna calidad elegida (alta o baja) seleccionarmos esta para los no megavideo
			seleccion = len(opciones)-1

	if (parametrizacion.DOWNLOAD_ENABLED):
		opciones.append(config.getLocalizedString(30153)) # "Descargar"

	if desdefavoritos: 
		opciones.append(config.getLocalizedString(30154)) # "Quitar de favoritos"
	else:
		opciones.append(config.getLocalizedString(30155)) # "Añadir a favoritos"

	if (parametrizacion.DOWNLOAD_ENABLED):
		if desdedescargados:
			opciones.append(config.getLocalizedString(30156)) # "Quitar de lista de descargas"
		else:
			opciones.append(config.getLocalizedString(30157)) # "Añadir a lista de descargas"

	opciones.append(config.getLocalizedString(30158)) # "Enviar a JDownloader"
	if default_action=="3":
		seleccion = len(opciones)-1

	if (parametrizacion.DOWNLOAD_ENABLED):
		if desderrordescargas:
			opciones.append(config.getLocalizedString(30159)) # "Borrar descarga definitivamente"
			opciones.append(config.getLocalizedString(30160)) # "Pasar de nuevo a lista de descargas"

	if not strmfile:
		if category in LIBRARY_CATEGORIES:
			opciones.append(config.getLocalizedString(30161)) # "Añadir a Biblioteca"

	# Busqueda de trailers en youtube	
	if not canal in ["Trailer","ecarteleratrailers"]:
		opciones.append(config.getLocalizedString(30162)) # "Buscar Trailer"

	# Si la accion por defecto es "Preguntar", pregunta
	if default_action=="0":
		dia = xbmcgui.Dialog()
		seleccion = dia.select(config.getLocalizedString(30163), opciones) # "Elige una opción"
		#dia.close()
	logger.info("seleccion=%d" % seleccion)
	logger.info("seleccion=%s" % opciones[seleccion])

	# No ha elegido nada, lo más probable porque haya dado al ESC 
	if seleccion==-1:
		if strmfile:  #Para evitar el error "Uno o más elementos fallaron" al cancelar la selección desde fichero strm
			listitem = xbmcgui.ListItem( title, iconImage="DefaultVideo.png", thumbnailImage=thumbnail)
			xbmcplugin.setResolvedUrl(int(sys.argv[ 1 ]),False,listitem)    # JUR Added
		if config.getSetting("subtitulo") == "true":
			config.setSetting("subtitulo", "false")
		return

	if opciones[seleccion]==config.getLocalizedString(30158): # "Enviar a JDownloader"
		if server=="Megaupload":
			d = {"web": "http://www.megaupload.com/?d=" + url}
		else:
			d = {"web": "http://www.megavideo.com/?v=" + url}
		
		import scrapertools
		data = scrapertools.cachePage(config.getSetting("jdownloader")+"/action/add/links/grabber0/start1/"+urllib.urlencode(d)+ " " +thumbnail)
		return

	# Ver en calidad alta
	if opciones[seleccion].startswith(config.getLocalizedString(30150)): # "Ver en calidad alta"
		if server=="Megaupload":
			mediaurl = servertools.getmegauploadhigh(url)
		else:
			mediaurl = servertools.getmegavideohigh(url)
	
	# Ver (calidad baja megavideo o resto servidores)
	elif opciones[seleccion].startswith(config.getLocalizedString(30151)) or opciones[seleccion].startswith(config.getLocalizedString(30152)): # Ver en calidad (normal o baja)
		if server=="Megaupload":
			mediaurl = servertools.getmegauploadlow(url)
			if mediaurl == "":
				alertanomegauploadlow(server)
				return
		elif server=="Megavideo":
			# Advertencia límite 72 minutos megavideo
			if config.getSetting("megavideopremium")=="false":
				advertencia = xbmcgui.Dialog()
				resultado = advertencia.ok(config.getLocalizedString(30052) , config.getLocalizedString(30053) , config.getLocalizedString(30054))			
			mediaurl = servertools.getmegavideolow(url)
		else:
			mediaurl = servertools.findurl(url,server)

	# Descargar
	elif opciones[seleccion]==config.getLocalizedString(30153): # "Descargar"
		if server=="Megaupload":
			if config.getSetting("megavideopremium")=="false":
				mediaurl = servertools.getmegauploadlow(url)
			else:
				mediaurl = servertools.getmegauploadhigh(url)
		elif server=="Megavideo":
			if config.getSetting("megavideopremium")=="false":
				mediaurl = servertools.getmegavideolow(url)
			else:
				mediaurl = servertools.getmegavideohigh(url)
		else:
			mediaurl = servertools.findurl(url,server)

		import downloadtools
		keyboard = xbmc.Keyboard(downloadtools.limpia_nombre_excepto_1(title))
		keyboard.doModal()
		if (keyboard.isConfirmed()):
			title = keyboard.getText()
			downloadtools.downloadtitle(mediaurl,title)
		return

	# TODO: Mover a modulo favoritos
	elif opciones[seleccion]==config.getLocalizedString(30154): #"Quitar de favoritos"
		# La categoría es el nombre del fichero en favoritos
		os.remove(urllib.unquote_plus( category ))
		advertencia = xbmcgui.Dialog()
		resultado = advertencia.ok(config.getLocalizedString(30102) , title , config.getLocalizedString(30105)) # 'Se ha quitado de favoritos'
		return

	# TODO: Mover a modulo descargadoslist
	elif opciones[seleccion]==config.getLocalizedString(30159): #"Borrar descarga definitivamente"
		# La categoría es el nombre del fichero en favoritos
		os.remove(urllib.unquote_plus( category ))
		advertencia = xbmcgui.Dialog()
		resultado = advertencia.ok(config.getLocalizedString(30101) , title , config.getLocalizedString(30106)) # 'Se ha quitado de la lista'
		return

	# TODO: Mover a modulo descargadoslist
	elif opciones[seleccion]==config.getLocalizedString(30160): #"Pasar de nuevo a lista de descargas":
		import descargadoslist
		# La categoría es el nombre del fichero en favoritos, así que lee el fichero
		titulo,thumbnail,plot,server,url = descargadoslist.readbookmarkfile(urllib.unquote_plus( category ),"")
		# Lo añade a la lista de descargas
		descargadoslist.savebookmark(title,url,thumbnail,server,plot)
		# Y lo borra de la lista de errores
		os.remove(urllib.unquote_plus( category ))
		advertencia = xbmcgui.Dialog()
		resultado = advertencia.ok(config.getLocalizedString(30101) , title , config.getLocalizedString(30107)) # 'Ha pasado de nuevo a la lista de descargas'
		return

	# TODO: Mover a modulo favoritos
	elif opciones[seleccion]==config.getLocalizedString(30155): #"Añadir a favoritos":
		import favoritos
		import downloadtools
		keyboard = xbmc.Keyboard(downloadtools.limpia_nombre_excepto_1(title))
		keyboard.doModal()
		if keyboard.isConfirmed():
			title = keyboard.getText()
			favoritos.savebookmark(title,url,thumbnail,server,plot)
			advertencia = xbmcgui.Dialog()
			resultado = advertencia.ok(config.getLocalizedString(30102) , title , config.getLocalizedString(30108)) # 'se ha añadido a favoritos'
		return

	# TODO: Mover a modulo descargadoslist
	elif opciones[seleccion]==config.getLocalizedString(30156): #"Quitar de lista de descargas":
		# La categoría es el nombre del fichero en la lista de descargas
		os.remove(urllib.unquote_plus( category ))
		advertencia = xbmcgui.Dialog()
		resultado = advertencia.ok(config.getLocalizedString(30101) , title , config.getLocalizedString(30106)) # 'Se ha quitado de lista de descargas'
		return

	# TODO: Mover a modulo descargadoslist
	elif opciones[seleccion]==config.getLocalizedString(30157): #"Añadir a lista de descargas":
		import descargadoslist
		import downloadtools
		keyboard = xbmc.Keyboard(downloadtools.limpia_nombre_excepto_1(title))
		keyboard.doModal()
		if keyboard.isConfirmed():
			title = keyboard.getText()
			descargadoslist.savebookmark(title,url,thumbnail,server,plot)
			advertencia = xbmcgui.Dialog()
			resultado = advertencia.ok(config.getLocalizedString(30101) , title , config.getLocalizedString(30109)) # 'se ha añadido a la lista de descargas'
		return

	elif opciones[seleccion]==config.getLocalizedString(30161): #"Añadir a Biblioteca":  # Library
		import library
		library.savelibrary(title,url,thumbnail,server,plot,canal=canal,category=category,Serie=Serie)
		return

	elif opciones[seleccion]==config.getLocalizedString(30162): #"Buscar Trailer":
		config.setSetting("subtitulo", "false")
		xbmc.executebuiltin("Container.Update(%s?channel=%s&action=%s&category=%s&title=%s&url=%s&thumbnail=%s&plot=%s&server=%s)" % ( sys.argv[ 0 ] , "trailertools" , "buscartrailer" , urllib.quote_plus( category ) , urllib.quote_plus( title ) , urllib.quote_plus( url ) , urllib.quote_plus( thumbnail ) , urllib.quote_plus( "" ) , server ))
		return

	# Si no hay mediaurl es porque el vídeo no está :)
	logger.info("[xbmctools.py] mediaurl="+mediaurl)
	if mediaurl=="":
		alertnodisponibleserver(server)
		return

	# Crea un listitem para pasárselo al reproductor

	# Obtención datos de la Biblioteca (solo strms que estén en la biblioteca)
	if strmfile:
		logger.info("[xbmctools.py] 1")
		listitem = getLibraryInfo(mediaurl)
	else:
		logger.info("[xbmctools.py] 2")
		listitem = xbmcgui.ListItem( title, iconImage="DefaultVideo.png", thumbnailImage=thumbnail)
		listitem.setInfo( "video", { "Title": title, "Plot" : plot , "Studio" : canal , "Genre" : category } )

		
	# Lanza el reproductor
	if strmfile: #Si es un fichero strm no hace falta el play
		logger.info("[xbmctools.py] 3")
		xbmcplugin.setResolvedUrl(int(sys.argv[ 1 ]),True,listitem)
	else:
		logger.info("[xbmctools.py] 4")
		launchplayer(mediaurl, listitem)
		
	if (config.getSetting("subtitulo") == "true") and (opciones[seleccion].startswith("Ver")):
		xbmc.Player().setSubtitles(os.path.join( config.DATA_PATH, 'subtitulo.srt' ) )
		config.setSetting("subtitulo", "false")