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" )
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 )
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)
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')
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')
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)
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)
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")