diff --git a/plugin.video.alfa/channels/danimados.py b/plugin.video.alfa/channels/danimados.py
index 0046da46..a3df1ecb 100644
--- a/plugin.video.alfa/channels/danimados.py
+++ b/plugin.video.alfa/channels/danimados.py
@@ -148,11 +148,11 @@ def findvideos(item):
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}| ", "", data)
- data1 = scrapertools.find_single_match(data,
+ data1 = scrapertools.find_single_match(data,
'
(.+?)<\/nav><\/div><\/div>')
patron='src="(.+?)"'
itemla = scrapertools.find_multiple_matches(data1,patron)
- if "favicons?domain" in itemla[1]:
+ if "favicons?domain" in itemla[0]:
method = 1
data2=scrapertools.find_single_match(data, "var \$user_hashs = {(.+?)}")
patron='".+?":"(.+?)"'
diff --git a/plugin.video.alfa/channels/documentalesonline.py b/plugin.video.alfa/channels/documentalesonline.py
index ee8ce0f5..6b4818d5 100755
--- a/plugin.video.alfa/channels/documentalesonline.py
+++ b/plugin.video.alfa/channels/documentalesonline.py
@@ -4,55 +4,79 @@ import re
from core import httptools
from core import scrapertools
+from core import servertools
from core.item import Item
-from platformcode import logger
from channelselector import get_thumb
+from platformcode import logger
HOST = "http://documentales-online.com/"
def mainlist(item):
logger.info()
-
itemlist = list()
-
- itemlist.append(Item(channel=item.channel, title="Novedades", action="listado", url=HOST,
+ itemlist.append(Item(channel=item.channel, title="Novedades", action="videos", url=HOST,
thumbnail=get_thumb('newest', auto=True)))
itemlist.append(Item(channel=item.channel, title="Destacados", action="seccion", url=HOST, extra="destacados",
thumbnail=get_thumb('hot', auto=True)))
- itemlist.append(Item(channel=item.channel, title="Series", action="seccion", url=HOST, extra="series",
+ itemlist.append(Item(channel=item.channel, title="Series destacadas", action="seccion", url=HOST, extra="series",
thumbnail=get_thumb('tvshows', auto=True)))
itemlist.append(Item(channel=item.channel, title="Categorías", action="categorias", url=HOST,
thumbnail=get_thumb('categories', auto=True)))
- # itemlist.append(Item(channel=item.channel, title="Top 100", action="categorias", url=HOST))
- # itemlist.append(Item(channel=item.channel, title="Populares", action="categorias", url=HOST))
-
+ itemlist.append(Item(channel=item.channel, title="Top 100", action="listado", url=HOST + "top/",
+ thumbnail=get_thumb('more voted', auto=True)))
+ itemlist.append(Item(channel=item.channel, title="Populares", action="listado", url=HOST + "populares/",
+ thumbnail=get_thumb('more watched', auto=True)))
+ itemlist.append(Item(channel=item.channel, title="Series y Temas", action="listado", url=HOST + "series-temas/",
+ thumbnail=get_thumb('tvshows', auto=True)))
itemlist.append(Item(channel=item.channel, title="Buscar", action="search",
thumbnail=get_thumb('search', auto=True)))
+ return itemlist
- # itemlist.append(Item(channel=item.channel, title=" Series y Temas", action="categorias", url=HOST))
+def listado(item):
+ logger.info()
+ itemlist = []
+ data = httptools.downloadpage(item.url).data
+ data = data.replace('
', '')
+ bloque = scrapertools.find_single_match(data, 'class="post-entry(.*?)class="post-share')
+ if "series-temas" not in item.url:
+ patron = '([^<]+)<'
+ matches = scrapertools.find_multiple_matches(bloque, patron)
+ for scrapedurl, scrapedtitle, scrapedextra in matches:
+ itemlist.append(Item(action = "findvideos",
+ channel = item.channel,
+ title = scrapedtitle + scrapedextra,
+ url = HOST + scrapedurl
+ ))
+ else:
+ patron = """([^<]+)<.*?"""
+ matches = scrapertools.find_multiple_matches(bloque, patron)
+ for scrapedurl, scrapedtitle in matches:
+ itemlist.append(Item(action = "videos",
+ channel = item.channel,
+ title = scrapedtitle,
+ url = HOST + scrapedurl
+ ))
return itemlist
def seccion(item):
logger.info()
itemlist = []
-
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|-\s", "", data)
-
if item.extra == "destacados":
patron_seccion = ''
action = "findvideos"
else:
patron_seccion = '
'
- action = "listado"
-
+ action = "videos"
data = scrapertools.find_single_match(data, patron_seccion)
-
- matches = re.compile('
(.*?)', re.DOTALL).findall(data)
-
+ matches = scrapertools.find_multiple_matches(data, '
(.*?)')
aux_action = action
for url, title in matches:
if item.extra != "destacados" and "Cosmos (Carl Sagan)" in title:
@@ -60,61 +84,46 @@ def seccion(item):
else:
action = aux_action
itemlist.append(item.clone(title=title, url=url, action=action, fulltitle=title))
-
return itemlist
-def listado(item):
+def videos(item):
logger.info()
-
itemlist = []
-
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|-\s", "", data)
-
- pagination = scrapertools.find_single_match(data, '
\d'
'')
-
patron = ''
data = scrapertools.find_single_match(data, patron)
-
matches = re.compile('(.*?).*?
> Página siguiente", url=pagination))
-
return itemlist
def categorias(item):
logger.info()
-
itemlist = []
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|-\s", "", data)
-
data = scrapertools.find_single_match(data, 'a href="#">Categorías')
- matches = re.compile('(.*?)', re.DOTALL).findall(data)
-
+ matches = scrapertools.find_multiple_matches(data, '(.*?)')
for url, title in matches:
- itemlist.append(item.clone(title=title, url=url, action="listado", fulltitle=title))
-
+ itemlist.append(item.clone(title=title, url=url, action="videos", fulltitle=title))
return itemlist
def search(item, texto):
logger.info()
-
texto = texto.replace(" ", "+")
-
try:
item.url = HOST + "?s=%s" % texto
- return listado(item)
+ return videos(item)
# Se captura la excepción, para no interrumpir al buscador global si un canal falla
except:
import sys
@@ -125,37 +134,21 @@ def search(item, texto):
def findvideos(item):
logger.info()
-
itemlist = []
-
data = httptools.downloadpage(item.url).data
data = re.sub(r"\n|\r|\t|\s{2}|-\s", "", data)
-
- if item.fulltitle == "Cosmos (Carl Sagan)":
-
- matches = scrapertools.find_multiple_matches(data,
- '(.*?)