From 97c15da679e701e1cfc7e9e41b03a3ae404fbdfc Mon Sep 17 00:00:00 2001 From: alfa-addon Date: Wed, 24 Jan 2018 18:42:41 -0500 Subject: [PATCH] fixed --- plugin.video.alfa/channels/autoplay.py | 53 ++++++++----------- plugin.video.alfa/channels/cinecalidad.py | 4 +- plugin.video.alfa/channels/plusdede.py | 5 +- plugin.video.alfa/channels/serieslan.py | 2 +- .../platformcode/platformtools.py | 35 ++++++------ 5 files changed, 49 insertions(+), 50 deletions(-) diff --git a/plugin.video.alfa/channels/autoplay.py b/plugin.video.alfa/channels/autoplay.py index 9c0977f0..a901ed7a 100644 --- a/plugin.video.alfa/channels/autoplay.py +++ b/plugin.video.alfa/channels/autoplay.py @@ -79,19 +79,9 @@ def start(itemlist, item): :return: intenta autoreproducir, en caso de fallar devuelve el itemlist que recibio en un principio ''' logger.info() - for videoitem in itemlist: - #Nos dice de donde viene si del addon o videolibrary - if item.contentChannel=='videolibrary': - videoitem.contentEpisodeNumber=item.contentEpisodeNumber - videoitem.contentPlot=item.contentPlot - videoitem.contentSeason=item.contentSeason - videoitem.contentSerieName=item.contentSerieName - videoitem.contentTitle=item.contentTitle - videoitem.contentType=item.contentType - videoitem.episode_id=item.episode_id - #videoitem.infoLabels=item.infoLabels - videoitem.thumbnail=item.thumbnail - #videoitem.title=item.title + logger.debug('item inicial %s' % item) + + if not config.is_xbmc(): #platformtools.dialog_notification('AutoPlay ERROR', 'Sólo disponible para XBMC/Kodi') return itemlist @@ -245,9 +235,10 @@ def start(itemlist, item): platformtools.stop_video() for autoplay_elem in autoplay_list: + play_item = Item if not platformtools.is_playing() and not played: videoitem = autoplay_elem['videoitem'] - + logger.debug('videoitem %s' % videoitem) if videoitem.server not in max_intentos_servers: max_intentos_servers[videoitem.server] = max_intentos @@ -274,24 +265,23 @@ def start(itemlist, item): else: videoitem = resolved_item[0] - # si no directamente reproduce y marca como visto - videoitem.contentChannel='videolibrary' - import importlib - actual_server="servers."+videoitem.server - i = importlib.import_module(actual_server) - #from servers import streamango + # Si no directamente reproduce y marca como visto + + # Verifica si el item viene de la videoteca try: - testv=i.test_video_exists(videoitem.url) - logger.info(testv) + if item.contentChannel =='videolibrary': + # Marca como visto + from platformcode import xbmc_videolibrary + xbmc_videolibrary.mark_auto_as_watched(item) + # Rellena el video con los datos del item principal y reproduce + play_item = item.clone(url=videoitem) + platformtools.play_video(play_item.url, autoplay=True) + else: + # Si no viene de la videoteca solo reproduce + platformtools.play_video(videoitem, autoplay=True) except: - testv=(True,'') - logger.debug("La funcion no existe en el conector "+videoitem.server) - testvideo=list(testv) - if testvideo[0]==True: - from platformcode import xbmc_videolibrary - xbmc_videolibrary.mark_auto_as_watched(item) - #platformtools.play_video(videoitem) - launcher.run(videoitem) + pass + try: if platformtools.is_playing(): @@ -310,6 +300,9 @@ def start(itemlist, item): if not platformtools.dialog_yesno("AutoPlay", text, "¿Desea ignorar todos los enlaces de este servidor?"): max_intentos_servers[videoitem.server] = max_intentos + logger.debug('elem: %s list %s' % (autoplay_list.index(autoplay_elem),autoplay_list[-1])) + if autoplay_elem == autoplay_list[-1]: + platformtools.dialog_notification('AutoPlay', 'No hubo enlaces funcionales') else: platformtools.dialog_notification('AutoPlay No Fue Posible', 'No Hubo Coincidencias') diff --git a/plugin.video.alfa/channels/cinecalidad.py b/plugin.video.alfa/channels/cinecalidad.py index 34407b61..55981dd3 100644 --- a/plugin.video.alfa/channels/cinecalidad.py +++ b/plugin.video.alfa/channels/cinecalidad.py @@ -272,7 +272,7 @@ def findvideos(item): "http://filescdn.com/": "filescdn", "https://www.yourupload.com/watch/": "yourupload", "http://www.cinecalidad.to/protect/gdredirect.php?l=": "directo", - "https://openload.co/embed/": "openload" + "https://openload.co/embed/": "openload", } logger.info() @@ -298,7 +298,7 @@ def findvideos(item): server = server_id.lower() thumbnail = item.thumbnail if server_id == 'TVM': - server = 'thevideo.me' + server = 'thevideome' url = server_url[server_id] + video_id + '.html' else: url = server_url[server_id] + video_id diff --git a/plugin.video.alfa/channels/plusdede.py b/plugin.video.alfa/channels/plusdede.py index b3380d66..85e5d9fd 100644 --- a/plugin.video.alfa/channels/plusdede.py +++ b/plugin.video.alfa/channels/plusdede.py @@ -761,7 +761,10 @@ def play(item): videoitem.channel = item.channel # Marcar como visto - checkseen(item) + try: + checkseen(item) + except: + pass return itemlist diff --git a/plugin.video.alfa/channels/serieslan.py b/plugin.video.alfa/channels/serieslan.py index 738c391a..6a3e3279 100644 --- a/plugin.video.alfa/channels/serieslan.py +++ b/plugin.video.alfa/channels/serieslan.py @@ -95,7 +95,7 @@ def episodios(item): # obtener el numero total de episodios total_episode = 0 - patron_caps = '
  • Capitulo ([^"]+)\:<\/span><[^"]+"(.+?)">([^"]+)<[^"]+<\/li>' + patron_caps = '
  • Capitulo (\d+).*?(.*?)
  • ' matches = scrapertools.find_multiple_matches(data, patron_caps) # data_info = scrapertools.find_single_match(data, '
    .+?<\/div><\/div>') patron_info = '.+?(.*?)

    .*?

    Reseña:

    (.*?)

    ' diff --git a/plugin.video.alfa/platformcode/platformtools.py b/plugin.video.alfa/platformcode/platformtools.py index 611338ac..28f550c2 100644 --- a/plugin.video.alfa/platformcode/platformtools.py +++ b/plugin.video.alfa/platformcode/platformtools.py @@ -503,7 +503,7 @@ def is_playing(): return xbmc.Player().isPlaying() -def play_video(item, strm=False, force_direct=False): +def play_video(item, strm=False, force_direct=False, autoplay=False): logger.info() # logger.debug(item.tostring('\n')) @@ -523,7 +523,7 @@ def play_video(item, strm=False, force_direct=False): logger.info("default_action=%s" % default_action) # Abre el diálogo de selección para ver las opciones disponibles - opciones, video_urls, seleccion, salir = get_dialogo_opciones(item, default_action, strm) + opciones, video_urls, seleccion, salir = get_dialogo_opciones(item, default_action, strm, autoplay) if salir: return @@ -669,7 +669,7 @@ def handle_wait(time_to_wait, title, text): return True -def get_dialogo_opciones(item, default_action, strm): +def get_dialogo_opciones(item, default_action, strm, autoplay): logger.info() # logger.debug(item.tostring('\n')) from core import servertools @@ -690,6 +690,7 @@ def get_dialogo_opciones(item, default_action, strm): # Extrae las URL de los vídeos, y si no puedes verlo te dice el motivo # Permitir varias calidades para server "directo" + if item.video_urls: video_urls, puedes, motivo = item.video_urls, True, "" else: @@ -730,22 +731,24 @@ def get_dialogo_opciones(item, default_action, strm): # Si no puedes ver el vídeo te informa else: - if item.server != "": - if "
    " in motivo: - dialog_ok("No puedes ver ese vídeo porque...", motivo.split("
    ")[0], motivo.split("
    ")[1], - item.url) + logger.debug('no puedes verlo :P') + if not autoplay: + if item.server != "": + if "
    " in motivo: + dialog_ok("No puedes ver ese vídeo porque...", motivo.split("
    ")[0], motivo.split("
    ")[1], + item.url) + else: + dialog_ok("No puedes ver ese vídeo porque...", motivo, item.url) else: - dialog_ok("No puedes ver ese vídeo porque...", motivo, item.url) - else: - dialog_ok("No puedes ver ese vídeo porque...", "El servidor donde está alojado no está", - "soportado en alfa todavía", item.url) + dialog_ok("No puedes ver ese vídeo porque...", "El servidor donde está alojado no está", + "soportado en alfa todavía", item.url) - if item.channel == "favorites": - # "Quitar de favoritos" - opciones.append(config.get_localized_string(30154)) + if item.channel == "favorites": + # "Quitar de favoritos" + opciones.append(config.get_localized_string(30154)) - if len(opciones) == 0: - error = True + if len(opciones) == 0: + error = True return opciones, video_urls, seleccion, error