diff --git a/plugin.video.alfa/channels/datoporn.py b/plugin.video.alfa/channels/datoporn.py
index 1afb3615..a63ebc25 100755
--- a/plugin.video.alfa/channels/datoporn.py
+++ b/plugin.video.alfa/channels/datoporn.py
@@ -40,7 +40,7 @@ def lista(item):
server="datoporn", fanart=scrapedthumbnail.replace("_t.jpg", ".jpg")))
# 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/channels/seriesyonkis.py b/plugin.video.alfa/channels/seriesyonkis.py
index 530d1aa2..20c61a64 100755
--- a/plugin.video.alfa/channels/seriesyonkis.py
+++ b/plugin.video.alfa/channels/seriesyonkis.py
@@ -1,47 +1,82 @@
# -*- coding: utf-8 -*-
import re
-import urllib
-import urllib2
import urlparse
+from core import httptools
from core import scrapertools
from core import servertools
from core.item import Item
from platformcode import config, logger
+host = 'https://yonkis.to'
+
def mainlist(item):
logger.info()
- itemlist = []
- itemlist.append(Item(channel=item.channel, action="listalfabetico", title="Listado alfabetico",
- url="http://www.seriesyonkis.sx",
- fanart=item.fanart))
- itemlist.append(Item(channel=item.channel, action="mostviewed", title="Series más vistas",
- url="http://www.seriesyonkis.sx/series-mas-vistas",
- fanart=item.fanart))
- itemlist.append(
- Item(channel=item.channel, action="search", title="Buscar", url="http://www.seriesyonkis.sx/buscar/serie",
- fanart=item.fanart))
+ itemlist = list()
+ itemlist.append(Item(channel=item.channel, action="alfabetico", title="Listado alfabetico", url=host))
+ itemlist.append(Item(channel=item.channel, action="mas_vistas", title="Series más vistas",
+ url=host + "/series-mas-vistas"))
+ itemlist.append(Item(channel=item.channel, action="ultimos", title="Últimos episodios añadidos",
+ url=host))
+ itemlist.append(Item(channel=item.channel, action="search", title="Buscar", url=host + "/buscar/serie"))
return itemlist
-def search(item, texto, categoria="*"):
+def alfabetico(item):
logger.info()
+
+ itemlist = list()
+
+ itemlist.append(Item(channel=item.channel, action="series", title="0-9", url=host + "/lista-de-series/0-9"))
+ for letra in 'ABCDEFGHIJKLMNOPQRSTUVWXYZ':
+ itemlist.append(Item(channel=item.channel, action="series", title=letra, url=host+"/lista-de-series/"+letra))
+
+ return itemlist
+
+
+def mas_vistas(item):
+ logger.info()
+
+ data = httptools.downloadpage(item.url).data
+ matches = re.compile('', re.S).findall(data)
+
itemlist = []
+ for scrapedtitle, scrapedurl, scrapedthumbnail in matches:
+ scrapedurl = urlparse.urljoin(item.url, scrapedurl)
+ scrapedthumbnail = urlparse.urljoin(item.url, scrapedthumbnail.replace("/90/", "/150/"))
- if categoria not in ("*", "S"): return itemlist ## <--
+ itemlist.append(
+ Item(channel=item.channel, action="episodios", title=scrapedtitle, fulltitle=scrapedtitle, url=scrapedurl,
+ thumbnail=scrapedthumbnail, show=scrapedtitle, fanart=item.fanart))
- if item.url == "":
- item.url = "http://www.seriesyonkis.sx/buscar/serie"
- url = "http://www.seriesyonkis.sx/buscar/serie" # write ur URL here
- post = 'keyword=' + texto[0:18] + '&search_type=serie'
+ return itemlist
+
+
+def search(item, texto):
+ logger.info()
+
+ itemlist = []
+ post = "keyword=%s&search_type=serie" % texto
+ data = httptools.downloadpage(item.url, post=post).data
- data = scrapertools.cache_page(url, post=post)
try:
- return getsearchresults(item, data, "episodios")
+ patron = '([^<]+)'
+ matches = re.compile(patron, re.DOTALL).findall(data)
+ for scrapedurl, scrapedtitle, scrapedthumb, scrapedplot in matches:
+ title = scrapedtitle.strip()
+ url = host + scrapedurl
+ thumb = host + scrapedthumb.replace("/90/", "/150/")
+ plot = re.sub(r"\n|\r|\t|\s{2,}", "", scrapedplot.strip())
+ logger.debug("title=[" + title + "], url=[" + url + "], thumbnail=[" + thumb + "]")
+
+ itemlist.append(Item(channel=item.channel, action="episodios", title=title, fulltitle=title, url=url,
+ thumbnail=thumb, plot=plot, show=title))
+
+ return itemlist
# Se captura la excepción, para no interrumpir al buscador global si un canal falla
except:
import sys
@@ -50,90 +85,21 @@ def search(item, texto, categoria="*"):
return []
-def getsearchresults(item, data, action):
- itemlist = []
-
- patron = '_results_wrapper">(.*?)