@@ -32,7 +32,7 @@ def lista(item):
|
||||
matches = scrapertools.find_multiple_matches(data, patron)
|
||||
for scrapedurl, scrapedthumbnail, duration, scrapedtitle in matches:
|
||||
if "/embed-" not in scrapedurl:
|
||||
scrapedurl = scrapedurl.replace("datoporn.com/", "datoporn.com/embed-") + ".html"
|
||||
scrapedurl = scrapedurl.replace("dato.porn/", "dato.porn/embed-") + ".html"
|
||||
if duration:
|
||||
scrapedtitle = "%s - %s" % (duration, scrapedtitle)
|
||||
|
||||
|
||||
@@ -16,6 +16,7 @@ def mainlist(item):
|
||||
thumbnail='https://s18.postimg.org/fwvaeo6qh/todas.png',
|
||||
fanart='https://s18.postimg.org/fwvaeo6qh/todas.png',
|
||||
url ='https://www.playpornx.net/category/porn-movies/?filter=date'))
|
||||
|
||||
itemlist.append(Item(channel=item.channel, title="Buscar", action="search", url='http://www.playpornx.net/?s=',
|
||||
thumbnail='https://s30.postimg.org/pei7txpa9/buscar.png',
|
||||
fanart='https://s30.postimg.org/pei7txpa9/buscar.png'))
|
||||
@@ -30,7 +31,6 @@ def lista(item):
|
||||
if item.url == '': item.url = host
|
||||
data = httptools.downloadpage(item.url).data
|
||||
data = re.sub(r'"|\n|\r|\t| |<br>|\s{2,}', "", data)
|
||||
logger.debug(data)
|
||||
patron = 'role=article><a href=(.*?) rel=bookmark title=(.*?)>.*?src=(.*?) class'
|
||||
matches = re.compile(patron, re.DOTALL).findall(data)
|
||||
|
||||
@@ -45,7 +45,7 @@ def lista(item):
|
||||
|
||||
if itemlist != []:
|
||||
actual_page_url = item.url
|
||||
next_page = scrapertools.find_single_match(data, 'rel="next" href="([^"]+)"')
|
||||
next_page = scrapertools.find_single_match(data, '<link rel=next href=(.*?) \/>')
|
||||
if next_page != '':
|
||||
itemlist.append(Item(channel=item.channel, action="lista", title='Siguiente >>>', url=next_page,
|
||||
thumbnail='https://s16.postimg.org/9okdu7hhx/siguiente.png', extra=item.extra))
|
||||
|
||||
@@ -866,10 +866,11 @@ def overwrite_tools(item):
|
||||
from core import videolibrarytools
|
||||
|
||||
seleccion = platformtools.dialog_yesno("Sobrescribir toda la videoteca",
|
||||
"Esto puede llevar algun tiempo.",
|
||||
"Esto puede llevar algún tiempo.",
|
||||
"¿Desea continuar?")
|
||||
if seleccion == 1:
|
||||
heading = 'Sobrescribiendo videoteca....'
|
||||
# tvshows
|
||||
heading = 'Sobrescribiendo videoteca....SERIES'
|
||||
p_dialog = platformtools.dialog_progress_bg('alfa', heading)
|
||||
p_dialog.update(0, '')
|
||||
|
||||
@@ -893,5 +894,42 @@ def overwrite_tools(item):
|
||||
|
||||
# ... y la volvemos a añadir
|
||||
videolibrary_service.update(path, p_dialog, i, t, serie, 3)
|
||||
|
||||
p_dialog.close()
|
||||
|
||||
# movies
|
||||
heading = 'Sobrescribiendo videoteca....PELICULAS'
|
||||
p_dialog2 = platformtools.dialog_progress_bg('alfa', heading)
|
||||
p_dialog2.update(0, '')
|
||||
|
||||
movies_list = []
|
||||
for path, folders, files in filetools.walk(videolibrarytools.MOVIES_PATH):
|
||||
movies_list.extend([filetools.join(path, f) for f in files if f.endswith(".json")])
|
||||
|
||||
logger.debug("movies_list %s" % movies_list)
|
||||
|
||||
if movies_list:
|
||||
t = float(100) / len(movies_list)
|
||||
|
||||
for i, movie_json in enumerate(movies_list):
|
||||
try:
|
||||
from core import jsontools
|
||||
path = filetools.dirname(movie_json)
|
||||
movie = Item().fromjson(filetools.read(movie_json))
|
||||
|
||||
# Eliminamos la carpeta con la pelicula ...
|
||||
filetools.rmdirtree(path)
|
||||
|
||||
import math
|
||||
heading = 'Actualizando videoteca....'
|
||||
|
||||
p_dialog2.update(int(math.ceil((i + 1) * t)), heading, "%s: %s" % (movie.contentTitle,
|
||||
movie.channel.capitalize()))
|
||||
# ... y la volvemos a añadir
|
||||
videolibrarytools.save_movie(movie)
|
||||
except Exception, ex:
|
||||
logger.error("Error al crear de nuevo la película")
|
||||
template = "An exception of type %s occured. Arguments:\n%r"
|
||||
message = template % (type(ex).__name__, ex.args)
|
||||
logger.error(message)
|
||||
|
||||
p_dialog2.close()
|
||||
|
||||
@@ -16,8 +16,8 @@ host = "http://ver-pelis.me"
|
||||
def mainlist(item):
|
||||
logger.info()
|
||||
itemlist = []
|
||||
i = 0
|
||||
global i
|
||||
i = 0
|
||||
itemlist.append(
|
||||
item.clone(title = "[COLOR oldlace]Películas[/COLOR]", action = "scraper", url = host + "/ver/",
|
||||
thumbnail = "http://imgur.com/36xALWc.png", fanart = "http://imgur.com/53dhEU4.jpg",
|
||||
@@ -49,7 +49,6 @@ def categoria_anno(item):
|
||||
itemlist = []
|
||||
data = httptools.downloadpage(item.url).data
|
||||
bloque = scrapertools.find_single_match(data, 'mobile_menu.*?(%s.*?)</ul>' %item.extra)
|
||||
logger.info("Intel44 %s" %bloque)
|
||||
patron = '(?is)<li.*?a href="([^"]+)'
|
||||
patron += '.*?title="[^"]+">([^<]+)'
|
||||
match = scrapertools.find_multiple_matches(bloque, patron)
|
||||
@@ -80,8 +79,8 @@ def scraper(item):
|
||||
global i
|
||||
data = httptools.downloadpage(item.url).data
|
||||
data = re.sub(r"\n|\r|\t|\s{2}| ", "", data)
|
||||
patron = scrapertools.find_multiple_matches(data,
|
||||
'<a class="thumb cluetip".*?href="([^"]+)".*?src="([^"]+)" alt="([^"]+)".*?"res">([^"]+)</span>')
|
||||
patron = '<a class="thumb cluetip".*?href="([^"]+)".*?src="([^"]+)" alt="([^"]+)".*?"res">([^"]+)</span>'
|
||||
patron = scrapertools.find_multiple_matches(data, patron)
|
||||
if len(patron) > 20:
|
||||
if item.next_page != 20:
|
||||
url_next_page = item.url
|
||||
@@ -91,9 +90,7 @@ def scraper(item):
|
||||
else:
|
||||
patron = patron[item.i:][:20]
|
||||
next_page = 20
|
||||
|
||||
url_next_page = item.url
|
||||
|
||||
for url, thumb, title, cuality in patron:
|
||||
title = re.sub(r"Imagen", "", title)
|
||||
titulo = "[COLOR floralwhite]" + title + "[/COLOR]" + " " + "[COLOR crimson][B]" + cuality + "[/B][/COLOR]"
|
||||
@@ -101,31 +98,13 @@ def scraper(item):
|
||||
|
||||
if item.extra != "search":
|
||||
item.i += 1
|
||||
new_item = item.clone(action="findvideos", title=titulo, url=url, thumbnail=thumb, fulltitle=title,
|
||||
contentTitle=title, contentType="movie", library=True)
|
||||
new_item.infoLabels['year'] = get_year(url)
|
||||
itemlist.append(new_item)
|
||||
itemlist.append(item.clone(action="findvideos", title=titulo, url=url, thumbnail=thumb, fulltitle=title,
|
||||
contentTitle=title, contentType="movie", library=True))
|
||||
|
||||
## Paginación
|
||||
if url_next_page:
|
||||
itemlist.append(item.clone(title="[COLOR crimson]Siguiente >>[/COLOR]", url=url_next_page, next_page=next_page,
|
||||
thumbnail="http://imgur.com/w3OMy2f.png", i=item.i))
|
||||
try:
|
||||
from core import tmdb
|
||||
tmdb.set_infoLabels_itemlist(itemlist, __modo_grafico__)
|
||||
for item in itemlist:
|
||||
if not "Siguiente >>" in item.title:
|
||||
if "0." in str(item.infoLabels['rating']):
|
||||
item.infoLabels['rating'] = "[COLOR indianred]Sin puntuacíon[/COLOR]"
|
||||
else:
|
||||
item.infoLabels['rating'] = "[COLOR orange]" + str(item.infoLabels['rating']) + "[/COLOR]"
|
||||
item.title = item.title + " " + str(item.infoLabels['rating'])
|
||||
except:
|
||||
pass
|
||||
|
||||
for item_tmdb in itemlist:
|
||||
logger.info(str(item_tmdb.infoLabels['tmdb_id']))
|
||||
|
||||
return itemlist
|
||||
|
||||
|
||||
@@ -137,10 +116,12 @@ def findvideos(item):
|
||||
if data_post:
|
||||
post = 'id=' + data_post[0] + '&slug=' + data_post[1]
|
||||
data_info = httptools.downloadpage(host + '/ajax/cargar_video.php', post=post).data
|
||||
enlaces = scrapertools.find_multiple_matches(data_info,
|
||||
"</i> (\w+ \w+).*?<a onclick=\"load_player\('([^']+)','([^']+)', ([^']+),.*?REPRODUCIR\">([^']+)</a>")
|
||||
patron = """</i> ([^<]+)"""
|
||||
patron += """.*?<a onclick=\"load_player\('([^']+)"""
|
||||
patron += """','([^']+)', ([^']+),.*?REPRODUCIR\">([^']+)</a>"""
|
||||
enlaces = scrapertools.find_multiple_matches(data_info, patron)
|
||||
for server, id_enlace, name, number, idioma_calidad in enlaces:
|
||||
|
||||
server = server.strip()
|
||||
if "SUBTITULOS" in idioma_calidad and not "P" in idioma_calidad:
|
||||
idioma_calidad = idioma_calidad.replace("SUBTITULOS", "VO")
|
||||
idioma_calidad = idioma_calidad.replace("VO", "[COLOR orangered] VO[/COLOR]")
|
||||
@@ -164,14 +145,23 @@ def findvideos(item):
|
||||
url = host + "/ajax/video.php?id=" + id_enlace + "&slug=" + name + "&quality=" + number
|
||||
|
||||
if not "Ultra" in server:
|
||||
server = "[COLOR cyan][B]" + server + "[/B][/COLOR]"
|
||||
server = "[COLOR cyan][B]" + server + " [/B][/COLOR]"
|
||||
extra = ""
|
||||
else:
|
||||
server = "[COLOR yellow][B]" + server + "[/B][/COLOR]"
|
||||
server = "[COLOR yellow][B]Gvideo [/B][/COLOR]"
|
||||
extra = "yes"
|
||||
title = server.strip() + " " + idioma_calidad
|
||||
itemlist.append(Item(channel=item.channel, action="play", title=title, url=url, fanart=item.fanart,
|
||||
thumbnail=item.thumbnail, fulltitle=item.title, extra=extra, folder=True))
|
||||
itemlist.append(Item(
|
||||
channel = item.channel,
|
||||
action = "play",
|
||||
title = title,
|
||||
url = url,
|
||||
fanart = item.fanart,
|
||||
thumbnail = item.thumbnail,
|
||||
fulltitle = item.fulltitle,
|
||||
extra = extra,
|
||||
folder = True
|
||||
))
|
||||
if item.library and config.get_videolibrary_support() and len(itemlist) > 0:
|
||||
infoLabels = {'tmdb_id': item.infoLabels['tmdb_id'],
|
||||
'title': item.infoLabels['title']}
|
||||
@@ -198,16 +188,13 @@ def play(item):
|
||||
url = scrapertools.find_single_match(data, '(?is)iframe src="([^"]+)"')
|
||||
videolist = servertools.find_video_items(data=url)
|
||||
for video in videolist:
|
||||
itemlist.append(Item(channel=item.channel, url=video.url, server=video.server,
|
||||
title="[COLOR floralwhite][B]" + video.server + "[/B][/COLOR]", action="play",
|
||||
folder=False))
|
||||
itemlist.append(Item(
|
||||
channel = item.channel,
|
||||
url = video.url,
|
||||
server = video.server,
|
||||
fulltitle = item.fulltitle,
|
||||
thumbnail = item.thumbnail,
|
||||
action = "play"
|
||||
))
|
||||
|
||||
return itemlist
|
||||
|
||||
|
||||
def get_year(url):
|
||||
data = httptools.downloadpage(url).data
|
||||
year = scrapertools.find_single_match(data, '<p><strong>Año:</strong>(.*?)</p>')
|
||||
if year == "":
|
||||
year = " "
|
||||
return year
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 17 KiB |
@@ -26,7 +26,7 @@ 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, "<script type='text/javascript'>(.*?)</script>")
|
||||
match = scrapertools.find_single_match(data, "p,a,c,k(.*?)</script>")
|
||||
data = jsunpack.unpack(match)
|
||||
media_urls = scrapertools.find_multiple_matches(data, 'file\:"([^"]+\.mp4)",label:"([^"]+)"')
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"ignore_urls": [],
|
||||
"patterns": [
|
||||
{
|
||||
"pattern": "downace.com/embed/(.*?)",
|
||||
"pattern": "downace.com/embed/([A-z0-9]+)",
|
||||
"url": "https://downace.com/embed/\\1"
|
||||
}
|
||||
]
|
||||
@@ -46,4 +46,4 @@
|
||||
],
|
||||
"thumbnail": "https://s12.postimg.org/4n9fmdy7x/logo-downace.png",
|
||||
"version": 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,6 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
|
||||
page_url = scrapertools.find_single_match(page_url, ".*?video/[0-9]+")
|
||||
|
||||
data = httptools.downloadpage(page_url, headers = headers).data
|
||||
logger.info("Intel11 %s" %data)
|
||||
patron = 'mime":"([^"]+)"'
|
||||
patron += '.*?url":"([^"]+)"'
|
||||
patron += '.*?quality":"([^"]+)"'
|
||||
|
||||
@@ -87,7 +87,7 @@ def check_for_update(overwrite=True):
|
||||
p_dialog.update(0, '')
|
||||
show_list = []
|
||||
|
||||
for path, folders, files in filetools.walk(library.TVSHOWS_PATH):
|
||||
for path, folders, files in filetools.walk(videolibrarytools.TVSHOWS_PATH):
|
||||
show_list.extend([filetools.join(path, f) for f in files if f == "tvshow.nfo"])
|
||||
|
||||
if show_list:
|
||||
|
||||
Reference in New Issue
Block a user