diff --git a/plugin.video.alfa/channels/doramasmp4.py b/plugin.video.alfa/channels/doramasmp4.py index c86c98d6..7926eeee 100644 --- a/plugin.video.alfa/channels/doramasmp4.py +++ b/plugin.video.alfa/channels/doramasmp4.py @@ -18,7 +18,7 @@ from channelselector import get_thumb host = 'https://www.doramasmp4.com/' -IDIOMAS = {'sub': 'VOSE'} +IDIOMAS = {'sub': 'VOSE', 'VO': 'VO'} list_language = IDIOMAS.values() list_quality = [] list_servers = ['openload', 'streamango', 'netutv', 'okru', 'directo', 'mp4upload'] @@ -38,7 +38,7 @@ def mainlist(item): itemlist.append(Item(channel= item.channel, title="Doramas", action="doramas_menu", thumbnail=get_thumb('doramas', auto=True), type='dorama')) itemlist.append(Item(channel=item.channel, title="Películas", action="list_all", - url=host + 'catalogue?type[]=pelicula', thumbnail=get_thumb('movies', auto=True), + url=host + 'catalogue?format=pelicula', thumbnail=get_thumb('movies', auto=True), type='movie')) itemlist.append(Item(channel=item.channel, title = 'Buscar', action="search", url= host+'search?q=', thumbnail=get_thumb('search', auto=True))) @@ -63,9 +63,8 @@ def list_all(item): itemlist = [] data = get_source(item.url) - - patron = '(.*?)' - patron += '
(.*?)' + patron = '
0: + itemlist.append( + item.clone(title="Añadir esta serie a la videoteca", action="add_serie_to_library", extra="episodes", text_color='yellow')) return itemlist def findvideos(item): @@ -156,51 +162,69 @@ def findvideos(item): itemlist = [] duplicated = [] + headers={'referer':item.url} data = get_source(item.url) + logger.debug(data) + patron = 'animated pulse data-url=(.*?)>' + matches = re.compile(patron, re.DOTALL).findall(data) + if ' ¡Este capítulo no tiene subtítulos, solo audio original!
' in data: + language = IDIOMAS['vo'] + else: + language = IDIOMAS['sub'] + if item.type !='episode' and '' not in data: item.type = 'dorama' item.contentSerieName = item.contentTitle item.contentTitle = '' return episodes(item) else: - itemlist.extend(servertools.find_video_items(data=data)) - for video_item in itemlist: - if 'sgl.php' in video_item.url: - headers = {'referer': item.url} - patron_gvideo = "'file':'(.*?)','type'" - data_gvideo = httptools.downloadpage(video_item.url, headers=headers).data - video_item.url = scrapertools.find_single_match(data_gvideo, patron_gvideo) - duplicated.append(video_item.url) - video_item.channel = item.channel - video_item.infoLabels = item.infoLabels - video_item.language=IDIOMAS['sub'] - - patron = 'var item = {id: (\d+), episode: (\d+),' - matches = re.compile(patron, re.DOTALL).findall(data) - - for id, episode in matches: - data_json=jsontools.load(httptools.downloadpage(host+'/api/stream/?id=%s&episode=%s' %(id, episode)).data) - sources = data_json['options'] - for src in sources: - url = sources[src] - - if 'sgl.php' in url: - headers = {'referer':item.url} - patron_gvideo = "'file':'(.*?)','type'" - data_gvideo = httptools.downloadpage(url, headers = headers).data - url = scrapertools.find_single_match(data_gvideo, patron_gvideo) - - new_item = Item(channel=item.channel, title='%s', url=url, language=IDIOMAS['sub'], action='play', - infoLabels=item.infoLabels) - if url != '' and url not in duplicated: - itemlist.append(new_item) - duplicated.append(url) - try: - itemlist = servertools.get_servers_itemlist(itemlist, lambda x: x.title % x.server.capitalize()) - except: - pass + for video_url in matches: + video_data = httptools.downloadpage(video_url, headers=headers).data + server = '' + if 'Media player DMP4' in video_data: + url = scrapertools.find_single_match(video_data, "sources: \[\{'file':'(.*?)'") + server = 'Directo' + else: + url = scrapertools.find_single_match(video_data, '