def add_pelicula_to_library(item): """ guarda una pelicula en la libreria de cine. La pelicula puede ser un enlace dentro de un canal o un video descargado previamente. Para añadir episodios descargados en local, el item debe tener exclusivamente: - contentTitle: titulo de la pelicula - title: titulo a mostrar junto al listado de enlaces -findvideos- ("Reproducir video local HD") - infoLabels["tmdb_id"] o infoLabels["imdb_id"] - contentType == "movie" - channel = "descargas" - url : ruta local al video @type item: item @param item: elemento que se va a guardar. """ logger.info() if config.is_xbmc(): from platformcode import xbmc_library xbmc_library.ask_set_content() new_item = item.clone(action="findvideos") insertados, sobreescritos, fallidos = save_library_movie(new_item) if fallidos == 0: platformtools.dialog_ok(config.get_localized_string(30131), new_item.contentTitle, config.get_localized_string( 30135)) # 'se ha añadido a la biblioteca' else: platformtools.dialog_ok( config.get_localized_string(30131), "ERRORE, il contenuto non è stato aggiunto alla libreria")
def add_pelicula_to_library(item): """ guarda una pelicula en la libreria de cine. La pelicula puede ser un enlace dentro de un canal o un video descargado previamente. Para añadir episodios descargados en local, el item debe tener exclusivamente: - contentTitle: titulo de la pelicula - title: titulo a mostrar junto al listado de enlaces -findvideos- ("Reproducir video local HD") - infoLabels["tmdb_id"] o infoLabels["imdb_id"] - contentType == "movie" - channel = "descargas" - url : ruta local al video @type item: item @param item: elemento que se va a guardar. """ logger.info() if config.is_xbmc(): from platformcode import xbmc_library xbmc_library.ask_set_content() new_item = item.clone(action="findvideos") insertados, sobreescritos, fallidos = save_library_movie(new_item) if fallidos == 0: platformtools.dialog_ok(config.get_localized_string(30131), new_item.contentTitle, config.get_localized_string(30135)) # 'se ha añadido a la biblioteca' else: platformtools.dialog_ok(config.get_localized_string(30131), "ERRORE, il contenuto non è stato aggiunto alla libreria")
def add_serie_to_library(item, channel=None): """ Guarda contenido en la libreria de series. Este contenido puede ser uno de estos dos: - La serie con todos los capitulos incluidos en la lista episodelist. - Un solo capitulo descargado previamente en local. Para añadir episodios descargados en local, el item debe tener exclusivamente: - contentSerieName (o show): Titulo de la serie - contentTitle: titulo del episodio para extraer season_and_episode ("1x01 Piloto") - title: titulo a mostrar junto al listado de enlaces -findvideos- ("Reproducir video local") - infoLabels["tmdb_id"] o infoLabels["imdb_id"] - contentType != "movie" - channel = "descargas" - url : ruta local al video @type item: item @param item: item que representa la serie a guardar @type channel: modulo @param channel: canal desde el que se guardara la serie. Por defecto se importara item.from_channel o item.channel """ logger.info("show=#" + item.show + "#") if config.is_xbmc(): from platformcode import xbmc_library xbmc_library.ask_set_content() if item.channel == "descargas": itemlist = [item.clone()] else: # Esta marca es porque el item tiene algo más aparte en el atributo "extra" item.action = item.extra if isinstance(item.extra, str) and "###" in item.extra: item.action = item.extra.split("###")[0] item.extra = item.extra.split("###")[1] if item.from_action: item.__dict__["action"] = item.__dict__.pop("from_action") if item.from_channel: item.__dict__["channel"] = item.__dict__.pop("from_channel") if not channel: try: channel = __import__('channels.%s' % item.channel, fromlist=["channels.%s" % item.channel]) except ImportError: exec "import channels." + item.channel + " as channel" # Obtiene el listado de episodios itemlist = getattr(channel, item.action)(item) insertados, sobreescritos, fallidos = save_library_tvshow(item, itemlist) if not insertados and not sobreescritos and not fallidos: platformtools.dialog_ok( "Biblioteca", "ERRORE, la serie non è stata aggiunta alla libreria", "Non è stato aggiunto alcun episodio") logger.error( "La serie %s no se ha podido añadir a la biblioteca. No se ha podido obtener ningun episodio" % item.show) elif fallidos == -1: platformtools.dialog_ok( "Biblioteca", "ERRORE, la serie non è stata aggiunta alla libreria") logger.error("La serie %s no se ha podido añadir a la biblioteca" % item.show) elif fallidos > 0: platformtools.dialog_ok( "Biblioteca", "ERRORE, la serie è stata aggiunta incompleta alla libreria") logger.error( "No se han podido añadir %s episodios de la serie %s a la biblioteca" % (fallidos, item.show)) else: platformtools.dialog_ok("Biblioteca", "La serie è stata aggiunta alla libreria") logger.info( "[launcher.py] Se han añadido %s episodios de la serie %s a la biblioteca" % (insertados, item.show)) if config.is_xbmc(): if config.get_setting("sync_trakt_new_tvshow", "biblioteca"): import xbmc from platformcode import xbmc_library if config.get_setting("sync_trakt_new_tvshow_wait", "biblioteca"): # Comprobar que no se esta buscando contenido en la biblioteca de Kodi while xbmc.getCondVisibility('Library.IsScanningVideo()'): xbmc.sleep(1000) # Se lanza la sincronizacion xbmc_library.sync_trakt()
def add_serie_to_library(item, channel=None): """ Guarda contenido en la libreria de series. Este contenido puede ser uno de estos dos: - La serie con todos los capitulos incluidos en la lista episodelist. - Un solo capitulo descargado previamente en local. Para añadir episodios descargados en local, el item debe tener exclusivamente: - contentSerieName (o show): Titulo de la serie - contentTitle: titulo del episodio para extraer season_and_episode ("1x01 Piloto") - title: titulo a mostrar junto al listado de enlaces -findvideos- ("Reproducir video local") - infoLabels["tmdb_id"] o infoLabels["imdb_id"] - contentType != "movie" - channel = "descargas" - url : ruta local al video @type item: item @param item: item que representa la serie a guardar @type channel: modulo @param channel: canal desde el que se guardara la serie. Por defecto se importara item.from_channel o item.channel """ logger.info("show=#" + item.show + "#") if config.is_xbmc(): from platformcode import xbmc_library xbmc_library.ask_set_content() if item.channel == "descargas": itemlist = [item.clone()] else: # Esta marca es porque el item tiene algo más aparte en el atributo "extra" item.action = item.extra if isinstance(item.extra, str) and "###" in item.extra: item.action = item.extra.split("###")[0] item.extra = item.extra.split("###")[1] if item.from_action: item.__dict__["action"] = item.__dict__.pop("from_action") if item.from_channel: item.__dict__["channel"] = item.__dict__.pop("from_channel") if not channel: try: channel = __import__('channels.%s' % item.channel, fromlist=["channels.%s" % item.channel]) except ImportError: exec "import channels." + item.channel + " as channel" # Obtiene el listado de episodios itemlist = getattr(channel, item.action)(item) insertados, sobreescritos, fallidos = save_library_tvshow(item, itemlist) if not insertados and not sobreescritos and not fallidos: platformtools.dialog_ok("Biblioteca", "ERRORE, la serie non è stata aggiunta alla libreria", "Non è stato aggiunto alcun episodio") logger.error("La serie %s no se ha podido añadir a la biblioteca. No se ha podido obtener ningun episodio" % item.show) elif fallidos == -1: platformtools.dialog_ok("Biblioteca", "ERRORE, la serie non è stata aggiunta alla libreria") logger.error("La serie %s no se ha podido añadir a la biblioteca" % item.show) elif fallidos > 0: platformtools.dialog_ok("Biblioteca", "ERRORE, la serie è stata aggiunta incompleta alla libreria") logger.error("No se han podido añadir %s episodios de la serie %s a la biblioteca" % (fallidos, item.show)) else: platformtools.dialog_ok("Biblioteca", "La serie è stata aggiunta alla libreria") logger.info("[launcher.py] Se han añadido %s episodios de la serie %s a la biblioteca" % (insertados, item.show)) if config.is_xbmc(): if config.get_setting("sync_trakt_new_tvshow", "biblioteca"): import xbmc from platformcode import xbmc_library if config.get_setting("sync_trakt_new_tvshow_wait", "biblioteca"): # Comprobar que no se esta buscando contenido en la biblioteca de Kodi while xbmc.getCondVisibility('Library.IsScanningVideo()'): xbmc.sleep(1000) # Se lanza la sincronizacion xbmc_library.sync_trakt()