From 7b9337a8501f63af156307096709e134ef083280 Mon Sep 17 00:00:00 2001 From: Kingbox <37674310+lopezvg@users.noreply.github.com> Date: Wed, 22 Aug 2018 17:37:56 +0200 Subject: [PATCH] DatoPorn: cambio de estructura --- plugin.video.alfa/channels/datoporn.py | 21 ++++++++++++++------- plugin.video.alfa/servers/datoporn.py | 8 +++++++- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/plugin.video.alfa/channels/datoporn.py b/plugin.video.alfa/channels/datoporn.py index a63ebc25..b70f37af 100755 --- a/plugin.video.alfa/channels/datoporn.py +++ b/plugin.video.alfa/channels/datoporn.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- +import re + from core import httptools from core import scrapertools from platformcode import logger @@ -9,8 +11,8 @@ def mainlist(item): logger.info() itemlist = [] - itemlist.append(item.clone(action="categorias", title="Categorías", url="http://dato.porn/categories_all")) - itemlist.append(item.clone(title="Buscar...", action="search")) + itemlist.append(item.clone(action="categorias", title="Categorías", url="http://dato.porn/categories_all", contentType="movie", viewmode="movie")) + itemlist.append(item.clone(title="Buscar...", action="search", contentType="movie", viewmode="movie")) return itemlist @@ -25,22 +27,27 @@ def lista(item): itemlist = [] # Descarga la pagina - data = httptools.downloadpage(item.url).data + data = re.sub(r"\n|\r|\t|\s{2}|()", "", httptools.downloadpage(item.url).data) # Extrae las entradas - patron = '
\s*(.*?).*?(.*?)' + patron = '
\s*(.*?)<\/span><\/div><\/a>.*?class="title">(.*?)<\/a>.*?<\/a><\/span><\/div> ' matches = scrapertools.find_multiple_matches(data, patron) for scrapedurl, scrapedthumbnail, duration, scrapedtitle in matches: if "/embed-" not in scrapedurl: - scrapedurl = scrapedurl.replace("dato.porn/", "dato.porn/embed-") + ".html" + #scrapedurl = scrapedurl.replace("dato.porn/", "dato.porn/embed-") + ".html" + scrapedurl = scrapedurl.replace("datoporn.co/", "datoporn.co/embed-") + ".html" if duration: scrapedtitle = "%s - %s" % (duration, scrapedtitle) + scrapedtitle += ' gb' + scrapedtitle = scrapedtitle.replace(":", "'") + #logger.debug(scrapedurl + ' / ' + scrapedthumbnail + ' / ' + duration + ' / ' + scrapedtitle) itemlist.append(item.clone(action="play", title=scrapedtitle, url=scrapedurl, thumbnail=scrapedthumbnail, server="datoporn", fanart=scrapedthumbnail.replace("_t.jpg", ".jpg"))) - # Extrae la marca de siguiente página - next_page = scrapertools.find_single_match(data, 'Next') + # Extrae la marca de siguiente página + #next_page = scrapertools.find_single_match(data, 'Next') + next_page = scrapertools.find_single_match(data, 'Next') if next_page and itemlist: itemlist.append(item.clone(action="lista", title=">> Página Siguiente", url=next_page)) diff --git a/plugin.video.alfa/servers/datoporn.py b/plugin.video.alfa/servers/datoporn.py index e5b98efd..47f04015 100755 --- a/plugin.video.alfa/servers/datoporn.py +++ b/plugin.video.alfa/servers/datoporn.py @@ -25,7 +25,10 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= media_urls = scrapertools.find_multiple_matches(data, 'file\:"([^"]+\.mp4)",label:"([^"]+)"') if not media_urls: match = scrapertools.find_single_match(data, "p,a,c,k(.*?)") - data = jsunpack.unpack(match) + try: + data = jsunpack.unpack(match) + except: + pass media_urls = scrapertools.find_multiple_matches(data, 'file\:"([^"]+\.mp4)",label:"([^"]+)"') # Extrae la URL @@ -41,6 +44,9 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= sorted(calidades) m3u8 = scrapertools.find_single_match(data, 'file\:"([^"]+\.m3u8)"') + if not m3u8: + m3u8 = str(scrapertools.find_multiple_matches(data, 'player.updateSrc\({src:.?"([^"]+\.m3u8)"')).replace("['", "").replace("']", "") + calidades = ['720p'] if m3u8: video_urls.insert(0, [".m3u8 %s [datoporn]" % calidades[-1], m3u8])