From 7ba6816c542626697fbbcf63e73632fb887b7a74 Mon Sep 17 00:00:00 2001 From: k991293 Date: Fri, 11 Aug 2017 17:17:23 +0200 Subject: [PATCH 1/6] Fix SeriesBlanco --- plugin.video.alfa/channels/seriesblanco.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugin.video.alfa/channels/seriesblanco.py b/plugin.video.alfa/channels/seriesblanco.py index a80efb6e..f19135a7 100644 --- a/plugin.video.alfa/channels/seriesblanco.py +++ b/plugin.video.alfa/channels/seriesblanco.py @@ -255,7 +255,7 @@ def parse_videos(item, type_str, data): def extract_videos_section(data): - return re.findall("panel-title(.+?)[^<]*[^<]*", data, re.MULTILINE | re.DOTALL) + return re.findall("panel-title[^>]*>\s*([VvDd].+?)[^<]*[^<]*", data, re.MULTILINE | re.DOTALL) def findvideos(item): @@ -275,10 +275,10 @@ def findvideos(item): list_links = [] if filtro_enlaces != 0: - list_links.extend(parse_videos(item, "Ver", online[0])) + list_links.extend(parse_videos(item, "Ver", online[-2])) if filtro_enlaces != 1: - list_links.extend(parse_videos(item, "Descargar", online[1])) + list_links.extend(parse_videos(item, "Descargar", online[-1])) list_links = filtertools.get_links(list_links, item, list_idiomas, CALIDADES) From b8a72a71509c4a6e624c37c67e1e7d0178f6b038 Mon Sep 17 00:00:00 2001 From: Intel1 Date: Fri, 11 Aug 2017 15:23:51 -0500 Subject: [PATCH 2/6] Update allcalidad.py --- plugin.video.alfa/channels/allcalidad.py | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/plugin.video.alfa/channels/allcalidad.py b/plugin.video.alfa/channels/allcalidad.py index a07ceca6..0875e1f6 100755 --- a/plugin.video.alfa/channels/allcalidad.py +++ b/plugin.video.alfa/channels/allcalidad.py @@ -75,12 +75,6 @@ def peliculas(item): logger.info() itemlist = [] data = httptools.downloadpage(item.url).data - patron = '(?s)short_overlay.*? Date: Fri, 11 Aug 2017 16:02:45 -0500 Subject: [PATCH 3/6] Add files via upload --- plugin.video.alfa/channels/ohpelis.json | 43 ++++ plugin.video.alfa/channels/ohpelis.py | 316 ++++++++++++++++++++++++ 2 files changed, 359 insertions(+) create mode 100644 plugin.video.alfa/channels/ohpelis.json create mode 100644 plugin.video.alfa/channels/ohpelis.py diff --git a/plugin.video.alfa/channels/ohpelis.json b/plugin.video.alfa/channels/ohpelis.json new file mode 100644 index 00000000..5c5d00f5 --- /dev/null +++ b/plugin.video.alfa/channels/ohpelis.json @@ -0,0 +1,43 @@ +{ + "id": "ohpelis", + "name": "OH-PELIS", + "compatible": { + "addon_version": "4.3" + }, + "active": true, + "adult": false, + "language": "es", + "thumbnail": "https://s28.postimg.org/6v7ig831p/oh-pelis.png", + "banner": "https://s27.postimg.org/bz0fh8jpf/oh-pelis-banner.png", + "version": 1, + "categories": [ + "latino", + "movie" + ], + "settings": [ + { + "id": "include_in_global_search", + "type": "bool", + "label": "Incluir en busqueda global", + "default": false, + "enabled": false, + "visible": false + }, + { + "id": "include_in_newest_peliculas", + "type": "bool", + "label": "Incluir en Novedades - Peliculas", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "include_in_newest_infantiles", + "type": "bool", + "label": "Incluir en Novedades - Infantiles", + "default": true, + "enabled": true, + "visible": true + } + ] +} \ No newline at end of file diff --git a/plugin.video.alfa/channels/ohpelis.py b/plugin.video.alfa/channels/ohpelis.py new file mode 100644 index 00000000..31b9080a --- /dev/null +++ b/plugin.video.alfa/channels/ohpelis.py @@ -0,0 +1,316 @@ +# -*- coding: utf-8 -*- +# -*- Channel OH-PELIS -*- +# -*- Created for Alfa-addon -*- +# -*- By the Alfa Develop Group -*- + +import re +import urllib +import urlparse + +from channels import autoplay +from channels import filtertools +from core import config +from core import httptools +from core import logger +from core import scrapertools +from core import servertools +from core import tmdb +from core.item import Item + + +host = 'http://www.ohpelis.com' +headers = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0 Chrome/58.0.3029.110', + 'Referer': host} + + +def mainlist(item): + logger.info() + + itemlist = [] + + itemlist.append( + item.clone(title="Peliculas", + action = 'movies_menu' + )) + + itemlist.append( + item.clone(title="Series", + action ='series_menu' + )) + + itemlist.append( + item.clone(title="Buscar", + action="search", + url='http://www.ohpelis.com/?s=', + )) + + + return itemlist + +def series_menu(item): + logger.info() + + itemlist = [] + + itemlist.append( + item.clone(title="Series", + action="list_all", + url=host + '/series/', + extra='serie' + )) + + return itemlist + + +def movies_menu(item): + logger.info() + + itemlist = [] + + itemlist.append( + item.clone(title="Todas", + action="list_all", + url=host + '/peliculas/' + )) + + itemlist.append( + item.clone(title="Generos", + action="section", + url=host, extra='genres')) + + itemlist.append( + item.clone(title="Por año", + action="section", + url=host, extra='byyear' + )) + + return itemlist + + +def list_all(item): + logger.info() + + itemlist = [] + data = httptools.downloadpage(item.url).data + + patron = '
(.*?)<\/a>.*?(\d{4})<\/span>.*?' + patron +='
(.*?)
(\d+) - (\d+)<\/div>
(.*?)<\/a>' + matches = re.compile(patron, re.DOTALL).findall(data) + infoLabels = item.infoLabels + num_ep = 1 + for scrapedseason, scrapedepisode, scrapedurl, scrapedtitle in matches: + season = scrapedseason + contentEpisodeNumber = num_ep + url = scrapedurl + title = '%sx%s - %s' % (season, num_ep, scrapedtitle) + itemlist.append(item.clone(title = title, + url = url, + contentEpisodeNumber = contentEpisodeNumber, + action = 'findvideos', + infoLabels = infoLabels + )) + num_ep += 1 + return itemlist + +def episodesxseason (item): + logger.info() + itemlist = [] + season = item.contentSeasonNumber + data = httptools.downloadpage(item.url).data + patron = '
%s - (\d+)<\/div>
(.*?)<\/a>'%season + matches = re.compile(patron, re.DOTALL).findall(data) + infoLabels = item.infoLabels + num_ep=1 + for scrapedepisode, scrapedurl, scrapedtitle in matches: + title = '%sx%s - %s'%(season, num_ep, scrapedtitle) + url = scrapedurl + infoLabels['episode']= num_ep + itemlist.append(item.clone(title = title, + url=url, + contentEpisodeNumber = num_ep, + action = 'findvideos', + infoLabels=infoLabels)) + num_ep +=1 + + tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True) + return itemlist + + +def findvideos(item): + logger.info() + itemlist = [] + templist =[] + data = httptools.downloadpage(item.url).data + itemlist.extend(servertools.find_video_items(data=data)) + for videoitem in itemlist: + videoitem.channel = item.channel + if videoitem.server != 'youtube': + videoitem.title = item.title+' (%s)'%videoitem.server + else: + videoitem.title = 'Trailer en %s' % videoitem.server + videoitem.action = 'play' + + if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos': + itemlist.append( + Item(channel=item.channel, + title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', + url=item.url, + action="add_pelicula_to_library", + extra="findvideos", + contentTitle=item.contentTitle, + )) + + return itemlist + +def newest(categoria): + logger.info() + itemlist = [] + item = Item() + try: + if categoria == 'peliculas': + item.url = host + '/release/2017/' + + elif categoria == 'infantiles': + item.url = host + '/genero/infantil/' + + itemlist = list_all(item) + if itemlist[-1].title == '>> Página siguiente': + itemlist.pop() + except: + import sys + for line in sys.exc_info(): + logger.error("{0}".format(line)) + return [] + + return itemlist From cdec3f5c070ed6313d918b4faedba8c0c75461dd Mon Sep 17 00:00:00 2001 From: alfa-addon Date: Sat, 12 Aug 2017 19:18:43 -0400 Subject: [PATCH 4/6] v1.5.3 --- plugin.video.alfa/addon.xml | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/plugin.video.alfa/addon.xml b/plugin.video.alfa/addon.xml index 2906730c..d6fb8a48 100755 --- a/plugin.video.alfa/addon.xml +++ b/plugin.video.alfa/addon.xml @@ -1,5 +1,5 @@  - + @@ -18,16 +18,14 @@ resources/media/general/ss/4.jpg [B]Estos son los cambios para esta versión:[/B] - [COLOR green][B]Canales arreglos[/B][/COLOR] - [I]- ver-pelis - - datoporn - - playpornx[/I] - [COLOR green][B]Servidor arreglado[/B][/COLOR] - - vimeo - - downace - [COLOR green][B]Novedades y mejoras[/B][/COLOR] - [I] - arreglos internos - - videoteca - conversion de peliculas fixed[/I] + [COLOR green][B]Canales agregados y arreglos[/B][/COLOR] + [I]- ver-peliculas + - tvseriesdk + - oh-pelis + - seriesblanco + - allcalidad[/I] + + [COLOR green]Gracias a[/COLOR] [COLOR yellow]k991293[/COLOR] [COLOR green]por su colaboración en esta versión[/COLOR] Descripción en Español English summary From 7f6f22c79d211e0d83db67399b623ece1992aad0 Mon Sep 17 00:00:00 2001 From: alfa-addon Date: Sat, 12 Aug 2017 19:19:46 -0400 Subject: [PATCH 5/6] nuevos canales - tvseriesdk y ver-peliculas --- plugin.video.alfa/channels/tvseriesdk.json | 40 +++ plugin.video.alfa/channels/tvseriesdk.py | 204 +++++++++++++++ plugin.video.alfa/channels/ver-peliculas.json | 15 ++ plugin.video.alfa/channels/ver-peliculas.py | 242 ++++++++++++++++++ 4 files changed, 501 insertions(+) create mode 100644 plugin.video.alfa/channels/tvseriesdk.json create mode 100644 plugin.video.alfa/channels/tvseriesdk.py create mode 100644 plugin.video.alfa/channels/ver-peliculas.json create mode 100644 plugin.video.alfa/channels/ver-peliculas.py diff --git a/plugin.video.alfa/channels/tvseriesdk.json b/plugin.video.alfa/channels/tvseriesdk.json new file mode 100644 index 00000000..142994b6 --- /dev/null +++ b/plugin.video.alfa/channels/tvseriesdk.json @@ -0,0 +1,40 @@ +{ + "id": "tvseriesdk", + "name": "TVSeriesdk", + "active": true, + "adult": false, + "language": "es", + "thumbnail": "https://s13.postimg.org/jrvqmqfnb/tvseriesdk.png", + "banner": "https://s16.postimg.org/r6mbel0f9/tvseriesdk-banner.png", + "version": 1, + "categories": [ + "latino", + "tvshow" + ], + "settings": [ + { + "id": "include_in_global_search", + "type": "bool", + "label": "Incluir en busqueda global", + "default": false, + "enabled": false, + "visible": false + }, + { + "id": "include_in_newest_peliculas", + "type": "bool", + "label": "Incluir en Novedades - Peliculas", + "default": true, + "enabled": true, + "visible": true + }, + { + "id": "include_in_newest_infantiles", + "type": "bool", + "label": "Incluir en Novedades - Infantiles", + "default": true, + "enabled": true, + "visible": true + } + ] +} \ No newline at end of file diff --git a/plugin.video.alfa/channels/tvseriesdk.py b/plugin.video.alfa/channels/tvseriesdk.py new file mode 100644 index 00000000..eb577489 --- /dev/null +++ b/plugin.video.alfa/channels/tvseriesdk.py @@ -0,0 +1,204 @@ +# -*- coding: utf-8 -*- +# -*- Channel TVSeriesdk -*- +# -*- Created for Alfa-addon -*- +# -*- By the Alfa Develop Group -*- + +import re +from core import logger +from core import config +from core import scrapertools +from core.item import Item +from core import servertools +from core import httptools +from core import tmdb + +host = 'http://www.tvseriesdk.com/' + +def mainlist(item): + logger.info() + + itemlist = [] + + itemlist.append(item.clone(title="Ultimos", + action="last_episodes", + url=host + )) + + itemlist.append(item.clone(title="Todas", + action="list_all", + url = host + )) + + itemlist.append(item.clone(title="Buscar", + action="search", + url='http://www.tvseriesdk.com/index.php?s=' + )) + + return itemlist + +def get_source(url): + logger.info() + data = httptools.downloadpage(url).data + data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data) + return data + +def list_all (item): + logger.info () + global i + itemlist = [] + templist =[] + data = get_source(item.url) + + patron = '
  • (.*?)<\/a>' + matches = re.compile(patron, re.DOTALL).findall(data) + + if len(matches) > 10: + if item.next_page != 10: + url_next_page = item.url + matches = matches[:10] + next_page = 10 + item.i = 0 + else: + patron = matches[item.i:][:10] + next_page = 10 + + url_next_page = item.url + + + + for scrapedurl, scrapedplot, scrapedtitle in matches: + url = scrapedurl + plot= scrapedplot + contentSerieName=scrapedtitle + title = contentSerieName + thumbnail='' + + templist.append(item.clone(action='episodes', + title=title, + url=url, + thumbnail='', + plot=plot, + contentErieName = contentSerieName + )) + itemlist = get_thumb(templist) + ## Paginación + if url_next_page: + itemlist.append(item.clone(title="Siguiente >>", + url=url_next_page, + next_page=next_page, + i=item.i + )) + return itemlist + +def last_episodes (item): + logger.info () + itemlist = [] + data = get_source(item.url) + patron = '
    .*?
+    matches = re.compile(patron, re.DOTALL).findall(data)
+
+    for scrapedurl, scrapedtitle, scrapedthumbnail in matches:
+        url = scrapedurl
+        title = scrapedtitle
+        thumbnail = scrapedthumbnail
+
+        itemlist.append(item.clone(action=)
+    return itemlist
+
+def search_list(item):
+    logger.info()
+    itemlist =[]
+
+    data= get_source(item.url)
+    patron = (.*?)<\/a>' + matches = re.compile(patron, re.DOTALL).findall(data) + + for scrapedthumb, scrapedurl, scrapedtitle in matches: + title = scrapedtitle + url = scrapedurl + thumbnail = scrapedthumb + itemlist.append(item.clone(title=title, + url=url, + thumbnail=thumbnail, + action='findvideos' + )) + #Pagination < link + next_page = scrapertools.find_single_match(data, '') + if next_page: + itemlist.append(Item(channel=item.channel, action="search_list", title='>> Pagina Siguiente', url=next_page, + thumbnail=config.get_thumb("thumb_next.png"))) + + return itemlist + + +def search(item, texto): + logger.info() + texto = texto.replace(" ", "+") + item.url = item.url + texto + + if texto != '': + return search_list(item) + else: + return [] + +def findvideos(item): + logger.info() + itemlist=[] + servers = {'netu':'http://hqq.tv/player/embed_player.php?vid=', + 'open':'https://openload.co/embed/', + 'netv':'http://goo.gl/', + 'gamo':'http://gamovideo.com/embed-', + 'powvideo':'http://powvideo.net/embed-', + 'play':'http://streamplay.to/embed-', + 'vido':'http://vidoza.net/embed-'} + data = get_source(item.url) + patron = 'id=tab\d+.*?class=tab_content>