Merge pull request #184 from Intel11/patch-1

Actualizados
This commit is contained in:
Alfa
2017-12-04 16:17:31 -05:00
committed by GitHub
10 changed files with 134 additions and 1236 deletions
+5 -12
View File
@@ -182,18 +182,15 @@ def destacadas(item):
matches = scrapertools.find_multiple_matches(bloque, patron)
for scrapedtitle, scrapedurl, scrapedthumbnail in matches:
scrapedurl = CHANNEL_HOST + scrapedurl
scrapedtitle = scrapedtitle.replace("Ver ", "")
new_item = item.clone(action="findvideos", title=scrapedtitle, fulltitle=scrapedtitle,
itemlist.append(item.clone(action="findvideos", title=scrapedtitle, fulltitle=scrapedtitle,
url=scrapedurl, thumbnail=scrapedthumbnail,
contentType="movie")
itemlist.append(new_item)
contentType="movie"
))
# Extrae el paginador
next_page_link = scrapertools.find_single_match(data, '<a href="([^"]+)"\s+><span [^>]+>&raquo;</span>')
if next_page_link:
itemlist.append(
item.clone(action="destacadas", title=">> Página siguiente", url=next_page_link, text_color=color3))
return itemlist
@@ -243,13 +240,9 @@ def findvideos(item):
# Busca el argumento
data = httptools.downloadpage(item.url).data
year = scrapertools.find_single_match(item.title, "\(([0-9]+)")
tmdb.set_infoLabels(item, __modo_grafico__)
if not item.infoLabels.get('plot'):
plot = scrapertools.find_single_match(data, '<div class="sinopsis"><p>(.*?)</p>')
item.infoLabels['plot'] = plot
if item.infoLabels["year"]:
tmdb.set_infoLabels(item, __modo_grafico__)
if filtro_enlaces != 0:
list_enlaces = bloque_enlaces(data, filtro_idioma, dict_idiomas, "online", item)
File diff suppressed because it is too large Load Diff
@@ -1,13 +0,0 @@
{
"id": "quierodibujosanimados",
"name": "Quiero Dibujos Animados",
"active": true,
"adult": false,
"language": ["cast"],
"thumbnail": "quierodibujosanimados.png",
"banner": "quierodibujosanimados.png",
"fanart": "quierodibujosanimados.jpg",
"categories": [
"tvshow"
]
}
@@ -1,116 +0,0 @@
# -*- coding: utf-8 -*-
import re
import urlparse
from core import scrapertools
from core.item import Item
from platformcode import logger
def mainlist(item):
logger.info()
# itemlist.append( Item(channel=item.channel , action="novedades" , title="Novedades" , url="http://www.quierodibujosanimados.com/"))
return series(
Item(channel=item.channel, action="series", title="Series", url="http://www.quierodibujosanimados.com/",
fanart=item.fanart))
def series(item):
logger.info()
itemlist = []
data = scrapertools.cache_page(item.url)
data = scrapertools.get_match(data, '<ul class="categorias">(.*?)</ul')
# <a href="http://www.quierodibujosanimados.com/cat/popeye-el-marino/38" title="Popeye el marino">Popeye el marino</a>
patron = '<a href="([^"]+)"[^>]+>([^<]+)</a>'
matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedurl, scrapedtitle in matches:
title = scrapedtitle.strip()
url = urlparse.urljoin(item.url, scrapedurl)
thumbnail = ""
plot = ""
logger.debug("title=[" + title + "], url=[" + url + "], thumbnail=[" + thumbnail + "]")
itemlist.append(
Item(channel=item.channel, action="episodios", title=title, url=url, thumbnail=thumbnail, plot=plot,
fanart=item.fanart))
next_page_url = scrapertools.find_single_match(data, '</span[^<]+<a href="([^"]+)">')
if next_page_url != "":
itemlist.append(Item(channel=item.channel, action="episodios", title=">> Página siguiente",
url=urlparse.urljoin(item.url, next_page_url), folder=True,
fanart=item.fanart))
return itemlist
def episodios(item):
logger.info()
'''
<li>
<div class="info">
<h2><a href="http://www.quierodibujosanimados.com/Caillou-raton-de-biblioteca/954" title="Caillou ratón de biblioteca">Caillou ratón de biblioteca</a></h2>
<p>Caillou volvía con su hermanita Rosi y su mamá de la biblioteca y traían un montón de libros que Caillou quería leer, especialmente uno de piratas. Capítulo titulado "Caillou ratón de biblioteca".</p>
<div class="pie">
<div class="categoria">
<span>Categor&iacute;a:</span>
<a href="http://www.quierodibujosanimados.com/cat/caillou/14" title="Caillou" class="categoria">Caillou</a>
</div>
<div class="puntuacion">
<div class="rating_16 punt_0" data-noticia="954">
<span>0.5</span>
<span>1</span>
<span>1.5</span>
<span>2</span>
<span>2.5</span>
<span>3</span>
<span>3.5</span>
<span>4</span>
<span>4.5</span>
<span>5</span>
</div>
</div>
</div>
<span class="pico"></span>
</div>
<div class="dibujo">
<a href="http://www.quierodibujosanimados.com/Caillou-raton-de-biblioteca/954" title="Caillou ratón de biblioteca" class="thumb">
<img src="http://www.quierodibujosanimados.com/i/thm-Caillou-raton-de-biblioteca.jpg" alt="Caillou ratón de biblioteca" width="137" height="174" />
</a>
<h4><a href="http://www.quierodibujosanimados.com/Caillou-raton-de-biblioteca/954" title="Caillou ratón de biblioteca">Caillou ratón de biblioteca</a></h4>
</div>
</li>
'''
# Descarga la pagina
data = scrapertools.cache_page(item.url)
patron = '<div class="dibujo"[^<]+'
patron += '<a href="([^"]+)" title="([^"]+)"[^<]+'
patron += '<img src="([^"]+)"'
matches = re.compile(patron, re.DOTALL).findall(data)
itemlist = []
for scrapedurl, scrapedtitle, scrapedthumbnail in matches:
title = scrapedtitle.strip()
url = urlparse.urljoin(item.url, scrapedurl)
thumbnail = urlparse.urljoin(item.url, scrapedthumbnail)
plot = ""
logger.debug("title=[" + title + "], url=[" + url + "], thumbnail=[" + thumbnail + "]")
itemlist.append(
Item(channel=item.channel, action="findvideos", title=title, url=url, thumbnail=thumbnail, plot=plot,
fanart=item.fanart))
next_page_url = scrapertools.find_single_match(data, '</span[^<]+<a href="([^"]+)">')
if next_page_url != "":
itemlist.append(Item(channel=item.channel, action="episodios", title=">> Página siguiente",
url=urlparse.urljoin(item.url, next_page_url), folder=True,
fanart=item.fanart))
return itemlist
@@ -1,13 +0,0 @@
{
"id": "unsoloclic",
"name": "Unsoloclic",
"active": true,
"adult": false,
"language": ["cast", "lat"],
"banner": "unsoloclic.png",
"thumbnail": "unsoloclic.png",
"categories": [
"movie",
"tvshow"
]
}
-144
View File
@@ -1,144 +0,0 @@
# -*- coding: utf-8 -*-
import re
import urlparse
from core import scrapertools
from core.item import Item
from platformcode import logger
def mainlist(item):
logger.info()
item.url = "http://unsoloclic.info"
return novedades(item)
def novedades(item):
logger.info()
itemlist = []
# Descarga la página
data = scrapertools.cachePage(item.url)
'''
<div class="post-45732 post type-post status-publish format-standard hentry category-2012 category-blu-ray category-mkv-hd720p" id="post-45732">
<h2 class="title"><a href="http://unsoloclic.info/2012/11/ek-tha-tiger-2012-blu-ray-720p-hd/" rel="bookmark" title="Permanent Link to Pelicula Ek Tha Tiger (2012) BLU-RAY 720p HD">Pelicula Ek Tha Tiger (2012) BLU-RAY 720p HD</a></h2>
<div class="postdate"><img src="http://unsoloclic.info/wp-content/themes/TinyWeb/images/date.png" /> noviembre 5th, 2012
<!--
<img src="http://unsoloclic.info/wp-content/themes/TinyWeb/images/user.png" /> unsoloclic
-->
</div>
<div class="entry">
<p><a href="http://unsoloclic.info/2012/11/ek-tha-tiger-2012-blu-ray-720p-hd/" rel="attachment wp-att-45737"><img src="http://unsoloclic.info/wp-content/uploads/2012/11/Ek-Tha-Tiger-2012.jpg" alt="" title="Ek Tha Tiger (2012)" width="500" height="629" class="aligncenter size-full wp-image-45737" /></a></p>
<h2 style="text-align: center;"></h2>
<div class="readmorecontent">
<a class="readmore" href="http://unsoloclic.info/2012/11/ek-tha-tiger-2012-blu-ray-720p-hd/" rel="bookmark" title="Permanent Link to Pelicula Ek Tha Tiger (2012) BLU-RAY 720p HD">Seguir Leyendo</a>
</div>
</div>
</div><!--/post-45732-->
'''
'''
<div class="post-45923 post type-post status-publish format-standard hentry category-2012 category-blu-ray category-comedia category-drama category-mkv category-mkv-hd720p category-romance tag-chris-messina tag-jenna-fischer tag-lee-kirk tag-the-giant-mechanical-man-pelicula tag-topher-grace" id="post-45923">
<h2 class="title"><a href="http://unsoloclic.info/2012/12/the-giant-mechanical-man-2012-bluray-720p-hd/" rel="bookmark" title="Permanent Link to The Giant Mechanical Man (2012) BluRay 720p HD">The Giant Mechanical Man (2012) BluRay 720p HD</a></h2>
<div class="postdate"><img src="http://unsoloclic.info/wp-content/themes/TinyWeb/images/date.png" /> diciembre 24th, 2012
<!--
<img src="http://unsoloclic.info/wp-content/themes/TinyWeb/images/user.png" /> deportv
-->
</div>
<div class="entry">
<p style="text-align: center;"><a href="http://unsoloclic.info/2012/12/the-giant-mechanical-man-2012-bluray-720p-hd/"><img class="aligncenter size-full wp-image-45924" title="Giant Michanical Man Pelicula Descargar" src="http://unsoloclic.info/wp-content/uploads/2012/12/Giant-Michanical-Man-Pelicula-Descargar.jpg" alt="" width="380" height="500" /></a></p>
<p style="text-align: center;">
<div class="readmorecontent">
<a class="readmore" href="http://unsoloclic.info/2012/12/the-giant-mechanical-man-2012-bluray-720p-hd/" rel="bookmark" title="Permanent Link to The Giant Mechanical Man (2012) BluRay 720p HD">Seguir Leyendo</a>
</div>
</div>
</div><!--/post-45923-->
'''
patron = '<div class="post[^"]+" id="post-\d+">[^<]+'
patron += '<h2 class="title"><a href="([^"]+)" rel="bookmark" title="[^"]+">([^<]+)</a></h2>[^<]+'
patron += '<div class="postdate">.*?</div>[^<]+'
patron += '<div class="entry">[^<]+'
patron += '<p[^<]+<a[^<]+<img.*?src="([^"]+)"'
matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedurl, scrapedtitle, scrapedthumbnail in matches:
scrapedplot = ""
logger.debug("title=[" + scrapedtitle + "], url=[" + scrapedurl + "], thumbnail=[" + scrapedthumbnail + "]")
itemlist.append(Item(channel=item.channel, action="findvideos", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot, folder=True))
'''
<a href="http://unsoloclic.info/page/2/" >&laquo; Peliculas anteriores</a>
'''
patron = '<a href="([^"]+)" >\&laquo\; Peliculas anteriores</a>'
matches = re.compile(patron, re.DOTALL).findall(data)
for match in matches:
scrapedtitle = ">> Página siguiente"
scrapedplot = ""
scrapedurl = urlparse.urljoin(item.url, match)
scrapedthumbnail = ""
logger.debug("title=[" + scrapedtitle + "], url=[" + scrapedurl + "], thumbnail=[" + scrapedthumbnail + "]")
itemlist.append(Item(channel=item.channel, action="novedades", title=scrapedtitle, url=scrapedurl,
thumbnail=scrapedthumbnail, plot=scrapedplot, folder=True))
return itemlist
def findvideos(item):
logger.info()
data = scrapertools.cache_page(item.url)
itemlist = []
# <a href="http://67cfb0db.linkbucks.com"><img title="billionuploads" src="http://unsoloclic.info/wp-content/uploads/2012/11/billonuploads2.png" alt="" width="380" height="50" /></a></p>
# <a href="http://1bd02d49.linkbucks.com"><img class="colorbox-57103" title="Freakeshare" alt="" src="http://unsoloclic.info/wp-content/uploads/2013/01/freakshare.png" width="390" height="55" /></a></p>
patron = '<a href="(http.//[a-z0-9]+.linkbucks.c[^"]+)[^>]+><img.*?title="([^"]+)".*?src="([^"]+)"'
matches = re.compile(patron, re.DOTALL).findall(data)
scrapertools.printMatches(matches)
for url, servertag, serverthumb in matches:
itemlist.append(
Item(channel=item.channel, action="play", server="linkbucks", title=servertag + " [linkbucks]", url=url,
thumbnail=serverthumb, plot=item.plot, folder=False))
from core import servertools
itemlist.extend(servertools.find_video_items(data=data))
for videoitem in itemlist:
if videoitem.server != "linkbucks":
videoitem.channel = item.channel
videoitem.action = "play"
videoitem.folder = False
videoitem.title = "[" + videoitem.server + "]"
return itemlist
def play(item):
logger.info()
itemlist = []
if item.server == "linkbucks":
logger.info("Es linkbucks")
# Averigua el enlace
from servers.decrypters import linkbucks
location = linkbucks.get_long_url(item.url)
logger.info("location=" + location)
# Extrae la URL de saltar el anuncio en adf.ly
if location.startswith("http://adf"):
# Averigua el enlace
from servers.decrypters import adfly
location = adfly.get_long_url(location)
logger.info("location=" + location)
from core import servertools
itemlist = servertools.find_video_items(data=location)
for videoitem in itemlist:
videoitem.channel = item.channel
videoitem.folder = False
else:
itemlist.append(item)
return itemlist
+2 -1
View File
@@ -18,7 +18,8 @@ def test_video_exists(page_url):
return False, "[Gamovideo] El archivo no existe o ha sido borrado"
if "Video is processing now" in data:
return False, "[Gamovideo] El video está procesándose en estos momentos. Inténtelo mas tarde."
if "File is awaiting for moderation" in data:
return False, "[Gamovideo] El video está esperando por moderación."
return True, ""
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -9,7 +9,7 @@ from platformcode import logger
def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url)
data = httptools.downloadpage(page_url).data
if "Not Found" in data:
if "Not Found" in data or "File was deleted" in data:
return False, "[streamixcloud] El archivo no existe o ha sido borrado"
if "Video is processing" in data:
return False, "[streamixcloud] El video se está procesando, inténtelo mas tarde"
+17 -7
View File
@@ -14,7 +14,7 @@ def test_video_exists(page_url):
if "Streaming link:" in data:
return True, ""
elif "Unfortunately, the file you want is not available." in data or "Unfortunately, the video you want to see is not available" in data:
elif "Unfortunately, the file you want is not available." in data or "Unfortunately, the video you want to see is not available" in data or "This stream doesn" in data:
return False, "[Uptobox] El archivo no existe o ha sido borrado"
wait = scrapertools.find_single_match(data, "You have to wait ([0-9]+) (minute|second)")
if len(wait) > 0:
@@ -40,7 +40,7 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
# Si el archivo tiene enlace de streaming se redirige a upstream
if "Streaming link:" in data:
page_url = "http://uptostream.com/iframe/" + scrapertools.find_single_match(page_url,
'uptobox.com/([a-z0-9]+)')
'uptobox.com/([a-z0-9]+)')
data = httptools.downloadpage(page_url).data
video_urls = uptostream(data)
else:
@@ -56,17 +56,27 @@ def uptostream(data):
subtitle = scrapertools.find_single_match(data, "kind='subtitles' src='//([^']+)'")
if subtitle:
subtitle = "http://" + subtitle
video_urls = []
patron = "<source src='//([^']+)' type='video/([^']+)' data-res='([^']+)' (?:data-default=\"true\" |)(?:lang='([^']+)'|)"
videos1 = []
data = data.replace("\\","")
patron = 'src":"([^"]+).*?'
patron += 'type":"([^"]+).*?'
patron += 'res":"([^"]+).*?'
patron += 'lang":"([^"]+)'
media = scrapertools.find_multiple_matches(data, patron)
for url, tipo, res, lang in media:
media_url = "http://" + url
for media_url, tipo, res, lang in media:
videos1.append([media_url, tipo, res, lang])
videos1.sort(key=lambda videos1: int(videos1[2]))
for x in videos1:
media_url = x[0]
tipo = x[1]
res = x[2]
lang = x[3]
tipo = tipo.replace("video/","")
extension = ".%s (%s)" % (tipo, res)
if lang:
extension = extension.replace(")", "/%s)" % lang[:3])
video_urls.append([extension + " [uptostream]", media_url, 0, subtitle])
return video_urls