diff --git a/plugin.video.alfa/channels/seriesblanco.py b/plugin.video.alfa/channels/seriesblanco.py index d6a81de0..fd94cc97 100644 --- a/plugin.video.alfa/channels/seriesblanco.py +++ b/plugin.video.alfa/channels/seriesblanco.py @@ -15,7 +15,7 @@ from core.item import Item from platformcode import config, logger from channelselector import get_thumb -host = 'http://seriesblanco.xyz/' +host = 'http://seriesblanco.org/' IDIOMAS = {'es': 'Cast', 'la': 'Lat', 'vos': 'VOSE', 'vo': 'VO'} list_language = IDIOMAS.values() @@ -40,7 +40,7 @@ def mainlist(item): title="Todas", action="list_all", thumbnail=get_thumb('all', auto=True), - url=host + 'listado/', + url=host + 'lista-de-series/', )) itemlist.append(Item(channel=item.channel, @@ -54,11 +54,12 @@ def mainlist(item): title="A - Z", action="section", thumbnail=get_thumb('alphabet', auto=True), - url=host+'listado/', )) + url=host+'lista-de-series/', )) itemlist.append(Item(channel=item.channel, title="Buscar", action="search", + url=host+"?s=", thumbnail=get_thumb('search', auto=True))) itemlist = filtertools.show_option(itemlist, item.channel, list_language, list_quality) @@ -69,7 +70,7 @@ def mainlist(item): def get_source(url): logger.info() data = httptools.downloadpage(url).data - data = re.sub(r'"|\n|\r|\t| |
|\s{2,}', "", data) + data = re.sub(r'\n|\r|\t| |
|\s{2,}', "", data) return data def list_all(item): @@ -77,15 +78,16 @@ def list_all(item): itemlist = [] data = get_source(item.url) + logger.debug(data) contentSerieName = '' - patron = "
.*?src='(.*?)' title='(.*?)'" + patron = '
.*?src="([^"]+)".*?data-original-title="([^"]+)">' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedthumbnail, scrapedtitle in matches: - url = host + scrapedurl + url = scrapedurl thumbnail = scrapedthumbnail title = scrapertools.decodeHtmlentities(scrapedtitle) @@ -103,13 +105,12 @@ def list_all(item): # #Paginacion if itemlist != []: - base_page = scrapertools.find_single_match(item.url,'(.*?)?') - next_page = scrapertools.find_single_match(data, '>>') + next_page = scrapertools.find_single_match(data, '
  • (.*?)
  • ' + patron = '
  • ([^<]+)
  • ' elif item.title == 'A - Z': - patron = "(.*?)" + patron = '([^<]+)' matches = re.compile(patron, re.DOTALL).findall(data) for scrapedurl, scrapedtitle in matches: - if item.title == 'Generos': - url = host + scrapedurl - else: - url = scrapedurl + url = scrapedurl title = scrapedtitle itemlist.append(Item(channel=item.channel, action='list_all', @@ -143,7 +141,8 @@ def seasons(item): logger.info() itemlist = [] data = get_source(item.url) - patron = '.*?Temporada (\d+) ' + logger.debug(data) + patron = '.*?Temporada (\d+) ' matches = re.compile(patron, re.DOTALL).findall(data) infoLabels=item.infoLabels for scrapedseason in matches: @@ -184,14 +183,14 @@ def episodesxseason(item): logger.info() itemlist = [] data = get_source(item.url) - + logger.debug(data) season = item.contentSeasonNumber - season_data = scrapertools.find_single_match(data, '
    ' % season) + patron = '%sx(\d+) (.*?) .*?(.*?)' % season matches = re.compile(patron, re.DOTALL).findall(season_data) infoLabels = item.infoLabels for scrapedurl, scraped_episode, scrapedtitle, lang_data in matches: - url = host + scrapedurl + url = scrapedurl title = '%sx%s - %s' % (season, scraped_episode, scrapedtitle.strip()) infoLabels['episode'] = scraped_episode thumbnail = item.thumbnail @@ -217,18 +216,20 @@ def new_episodes(item): data = get_source(item.url) - patron = "padding-left:15px'>.*?src='(.*?)' title=.*? alt='(.*?) (\d+x\d+)'.*?" - patron += ".*?(.*?)
    " + data = scrapertools.find_single_match(data, + '
    Series Online : CapĂ­tulos estrenados recientemente
    .*?') + logger.debug(data) + patron = '
  • .*?src="([^"]+)".*? data-original-title=" (\d+x\d+).*?' matches = re.compile(patron, re.DOTALL).findall(data) - for scrapedurl, scrapedthumbnail, scrapedtitle, scrapedinfo, lang_data in matches: - + for lang_data, scrapedurl, scrapedthumbnail, scrapedinfo, in matches: url = host+scrapedurl thumbnail = scrapedthumbnail scrapedinfo = scrapedinfo.split('x') season = scrapedinfo[0] episode = scrapedinfo[1] + scrapedtitle = scrapertools.find_single_match(url, 'capitulo/([^/]+)/').replace("-", " ") title = '%s - %sx%s' % (scrapedtitle, season, episode ) title, language = add_language(title, lang_data) itemlist.append(Item(channel=item.channel, @@ -244,7 +245,7 @@ def new_episodes(item): def add_language(title, string): logger.info() - languages = scrapertools.find_multiple_matches(string, '/banderas/(.*?).png') + languages = scrapertools.find_multiple_matches(string, '/language/(.*?).png') language = [] for lang in languages: @@ -269,34 +270,40 @@ def findvideos(item): itemlist = [] data = get_source(item.url) - - patron = "|\s{2,}', "", data) - patron = ".*?src=(.*?) style.*?value=(.*?)>" + data = get_source(item.url) + logger.debug(data) + + patron = '
    .*?src="([^"]+)".*?alt="([^"]+)"' + matches = re.compile(patron, re.DOTALL).findall(data) matches = re.compile(patron, re.DOTALL).findall(data) @@ -344,10 +357,10 @@ def search_results(item): def search(item, texto): logger.info() - import urllib - if texto != '': - post = {'query':texto} - post = urllib.urlencode(post) - item.post = post + texto = texto.replace(" ", "+") + item.url = item.url + texto - return search_results(item) + if texto != '': + return list_all(item) + else: + return [] \ No newline at end of file