diff --git a/plugin.video.alfa/channels/cartoonlatino.py b/plugin.video.alfa/channels/cartoonlatino.py
index 48b47c0a..23b59b61 100644
--- a/plugin.video.alfa/channels/cartoonlatino.py
+++ b/plugin.video.alfa/channels/cartoonlatino.py
@@ -1,4 +1,4 @@
-# -*- coding: utf-8 -*-
+# -*- coding: utf-8 -*-
import re
@@ -25,29 +25,15 @@ list_quality = ['default']
def mainlist(item):
logger.info()
-
thumb_series = get_thumb("channels_tvshow.png")
autoplay.init(item.channel, list_servers, list_quality)
-
itemlist = list()
-
itemlist.append(Item(channel=item.channel, action="lista", title="Series", url=host,
thumbnail=thumb_series))
autoplay.show_option(item.channel, itemlist)
-
return itemlist
-"""
-def search(item, texto):
- logger.info()
- texto = texto.replace(" ","+")
- item.url = item.url+texto
- if texto!='':
- return lista(item)
-"""
-
-
def lista_gen(item):
logger.info()
@@ -179,11 +165,10 @@ def findvideos(item):
for link in itemla:
if server in link:
url = link.replace('" + ID' + server + ' + "', str(id))
- if "drive" in server:
- server1 = 'Gvideo'
- else:
- server1 = server
- itemlist.append(item.clone(url=url, action="play", server=server1,
- title="Enlace encontrado en %s " % (server1.capitalize())))
+ itemlist.append(item.clone(url=url, action="play",
+ title="Enlace encontrado en %s "
+ ))
+ itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize())
+ scrapertools.printMatches(itemlist)
autoplay.start(itemlist, item)
return itemlist
diff --git a/plugin.video.alfa/channels/clasicofilm.py b/plugin.video.alfa/channels/clasicofilm.py
index 39f02bfe..c3efc2fe 100755
--- a/plugin.video.alfa/channels/clasicofilm.py
+++ b/plugin.video.alfa/channels/clasicofilm.py
@@ -2,11 +2,15 @@
import re
+from core import filetools
+from core import jsontools
from core import httptools
from core import scrapertools
+from core import servertools
from core import tmdb
+from core import videolibrarytools
from core.item import Item
-from platformcode import config, logger
+from platformcode import config, platformtools, logger
host = "http://www.clasicofilm.com/"
# Configuracion del canal
@@ -47,7 +51,6 @@ def mainlist(item):
def configuracion(item):
- from platformcode import platformtools
ret = platformtools.show_channel_settings()
platformtools.itemlist_refresh()
return ret
@@ -55,13 +58,9 @@ def configuracion(item):
def search(item, texto):
logger.info()
-
data = httptools.downloadpage(host).data
- cx = scrapertools.find_single_match(data, "var cx = '([^']+)'")
texto = texto.replace(" ", "%20")
- item.url = "https://www.googleapis.com/customsearch/v1element?key=AIzaSyCVAXiUzRYsML1Pv6RwSG1gunmMikTzQqY&rsz=filtered_cse&num=20&hl=es&sig=0c3990ce7a056ed50667fe0c3873c9b6&cx=%s&q=%s&sort=&googlehost=www.google.com&start=0" % (
- cx, texto)
-
+ item.url = host + "search?q=%s" % texto
try:
return busqueda(item)
# Se captura la excepción, para no interrumpir al buscador global si un canal falla
@@ -104,7 +103,6 @@ def peliculas(item):
data = httptools.downloadpage(item.url).data
data = scrapertools.find_single_match(data, 'finddatepost\((\{.*?\]\}\})\);')
- from core import jsontools
data = jsontools.load(data)["feed"]
for entry in data["entry"]:
@@ -133,7 +131,6 @@ def peliculas(item):
tmdb.set_infoLabels(itemlist, __modo_grafico__)
except:
pass
-
actualpage = int(scrapertools.find_single_match(item.url, 'start-index=(\d+)'))
totalresults = int(data["openSearch$totalResults"]["$t"])
if actualpage + 20 < totalresults:
@@ -146,48 +143,22 @@ def peliculas(item):
def busqueda(item):
logger.info()
itemlist = []
- item.text_color = color2
-
- # Descarga la página
data = httptools.downloadpage(item.url).data
-
- from core import jsontools
- data = jsontools.load(data)
-
- for entry in data["results"]:
- try:
- title = entry["richSnippet"]["metatags"]["ogTitle"]
- url = entry["richSnippet"]["metatags"]["ogUrl"]
- thumbnail = entry["richSnippet"]["metatags"]["ogImage"]
- except:
- continue
-
- try:
- title_split = re.split(r"\s*\((\d)", title, 1)
- year = title_split[1] + scrapertools.find_single_match(title_split[2], '(\d{3})\)')
- fulltitle = title_split[0]
- except:
- fulltitle = title
- year = ""
- if not "DVD" in title and not "HDTV" in title and not "HD-" in title:
- continue
- infolabels = {'year': year}
- new_item = item.clone(action="findvideos", title=title, fulltitle=fulltitle,
- url=url, thumbnail=thumbnail, infoLabels=infolabels,
- contentTitle=fulltitle, contentType="movie")
- itemlist.append(new_item)
-
- try:
- tmdb.set_infoLabels(itemlist, __modo_grafico__)
- except:
- pass
-
- actualpage = int(scrapertools.find_single_match(item.url, 'start=(\d+)'))
- totalresults = int(data["cursor"]["resultCount"])
- if actualpage + 20 <= totalresults:
- url_next = item.url.replace("start=" + str(actualpage), "start=" + str(actualpage + 20))
- itemlist.append(Item(channel=item.channel, action="busqueda", title=">> Página Siguiente", url=url_next))
-
+ patron = """post-title entry-titl.*?href='([^']+)'"""
+ patron += """>([^<]+).*?"""
+ patron += """src="([^"]+)"""
+ matches = scrapertools.find_multiple_matches(data, patron)
+ for scrapedurl, scrapedtitle, scrapedthumbnail in matches:
+ year = scrapertools.find_single_match(scrapedtitle, "\(([0-9]{4})\)")
+ ctitle = scrapedtitle.split("(")[0].strip()
+ itemlist.append(item.clone(action = "findvideos",
+ contentTitle = ctitle,
+ infoLabels = {"year" : year},
+ thumbnail = scrapedthumbnail,
+ title = scrapedtitle,
+ url = scrapedurl
+ ))
+ tmdb.set_infoLabels(itemlist, __modo_grafico__)
return itemlist
@@ -197,9 +168,10 @@ def generos(item):
# Descarga la página
data = httptools.downloadpage(item.url).data
- patron = '([^<]+)
\s*