Exemplo n.º 1
0
def findvideos(item):
    log()
    data = ''
    matches = support.match(item, 'str="([^"]+)"')[0]
    if matches:
        for match in matches:
            data += str(jsfunctions.unescape(re.sub('@|g', '%', match)))
            data += str(match)
            log('DATA', data)
            if 'animepertutti' in data:
                log('ANIMEPERTUTTI!')

    else:
        data = ''

    itemlist = support.server(item, data)

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)

    itemlist = filtertools.get_links(itemlist, item, list_language)
    autoplay.start(itemlist, item)

    return itemlist
Exemplo n.º 2
0
def findvideos(item):
    logger.info()
    itemlist = []
    soup = create_soup(item.url)
    matches = soup.find_all("div", id=re.compile(r"^source-player-\d+"))
    for elem in matches:
        try:
            url = elem.iframe['src']
        except:
            url = elem.text
        lang = "CAST"
        if not config.get_setting('unify'):
            title = ' (%s)' % (lang)
        else:
            title = ''
        if url != '' and not "mirrorace" in url: #mirrorrace son descargas con recaptcha
            itemlist.append(item.clone(action="play", title='%s'+title, url=url, language=lang ))
    itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize())
    # Requerido para Filtrar enlaces
    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)
    # Requerido para FilterTools
    itemlist = filtertools.get_links(itemlist, item, list_language)
    # Requerido para AutoPlay
    autoplay.start(itemlist, item)

    if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra !='findvideos' and not "/episodios/" in item.url :
        itemlist.append(item.clone(action="add_pelicula_to_library", 
                             title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', url=item.url,
                             extra="findvideos", contentTitle=item.contentTitle)) 
    return itemlist
Exemplo n.º 3
0
def findvideos(item):
    logger.info('[filmsenzalimiti.py] findvideos')

    itemlist = support.hdpass_get_servers(item)

    # Link Aggiungi alla Libreria
    if item.contentType == 'movie':
        if config.get_videolibrary_support(
        ) and len(itemlist) > 0 and item.extra != 'findservers':
            itemlist.append(
                Item(channel=item.channel,
                     title=
                     '[COLOR lightblue][B]Aggiungi alla videoteca[/B][/COLOR]',
                     url=item.url,
                     action="add_pelicula_to_library",
                     extra="findservers",
                     contentTitle=item.contentTitle))

    #Necessario per filtrare i Link
    if checklinks:
        itemlist = servertools.check_list_links(itemlist, checklinks_number)

    # Necessario per  FilterTools
    # itemlist = filtertools.get_links(itemlist, item, list_language)

    # Necessario per  AutoPlay
    autoplay.start(itemlist, item)

    return itemlist
Exemplo n.º 4
0
def findvideos(item):
    logger.info()

    itemlist = []

    data = get_source(item.url)
    #return
    patron = 'video\[\d+\] = \'<iframe src="([^"]+)"'
    matches = re.compile(patron, re.DOTALL).findall(data)

    for scrapedurl in matches:

        if 'animeboom' in scrapedurl:
            new_data = get_source(scrapedurl)
            scrapedurl = scrapertools.find_single_match(new_data, 'src:"([^,]+)",')

        if scrapedurl != '':
            itemlist.append(Item(channel=item.channel, title='%s', url=scrapedurl, action='play', language = item.language,
                                       infoLabels=item.infoLabels))

    itemlist = servertools.get_servers_itemlist(itemlist, lambda x: x.title % x.server.capitalize())

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)

    # Requerido para FilterTools

    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)

    return itemlist
Exemplo n.º 5
0
def findvideos(item):
    logger.info('[animeleggendari.py] findvideos')

    data = httptools.downloadpage(item.url).data
    itemlist = servertools.find_video_items(data=data)

    for videoitem in itemlist:
        server = re.sub(r'[-\[\]\s]+', '', videoitem.title)
        videoitem.title = "".join([
            "[%s] " % support.color(server.capitalize(), 'orange'), item.title
        ])
        videoitem.fulltitle = item.fulltitle
        videoitem.show = item.show
        videoitem.thumbnail = item.thumbnail
        videoitem.channel = item.channel

    # Richiesto per Verifica se i link esistono
    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)

    # Richiesto per FilterTools
    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Autoplay
    autoplay.start(itemlist, item)

    return itemlist
Exemplo n.º 6
0
def controls(itemlist, item, AutoPlay=True, CheckLinks=True):
    from core import jsontools
    from platformcode.config import get_setting

    CL = get_setting('checklinks') or get_setting('checklinks', item.channel)
    autoplay_node = jsontools.get_node_from_file('autoplay', 'AUTOPLAY')
    channel_node = autoplay_node.get(item.channel, {})
    if not channel_node:  # non ha mai aperto il menu del canale quindi in autoplay_data.json non c'e la key
        channelFile = __import__('channels.' + item.channel,
                                 fromlist=["channels.%s" % item.channel])
        autoplay.init(item.channel, channelFile.list_servers,
                      channelFile.list_quality)

    autoplay_node = jsontools.get_node_from_file('autoplay', 'AUTOPLAY')
    channel_node = autoplay_node.get(item.channel, {})
    settings_node = channel_node.get('settings', {})
    AP = get_setting('autoplay') or settings_node['active']

    if CL and not AP:
        if get_setting('checklinks', item.channel):
            checklinks = get_setting('checklinks', item.channel)
        else:
            checklinks = get_setting('checklinks')
        if get_setting('checklinks_number', item.channel):
            checklinks_number = get_setting('checklinks_number', item.channel)
        else:
            checklinks_number = get_setting('checklinks_number')
        itemlist = servertools.check_list_links(itemlist, checklinks_number)

    if AutoPlay == True:
        autoplay.start(itemlist, item)

    videolibrary(itemlist, item, function_level=3)
    return itemlist
Exemplo n.º 7
0
def findvideos(item):
    logger.info()
    itemlist = []

    if item.contentType == 'episode':
        data = item.url
        urls = re.findall(
            r'<a\s*ref="nofollow" target="_blank" act="\d+"[^n]+newlink="([^"]+)" class="blue-link">[^<]+</a>',
            data, re.DOTALL)
    else:
        data = httptools.downloadpage(item.url).data
        urls = re.findall(
            r'<iframe\s*allowfullscreen class="embed-responsive-item" src="([^"]+)"></iframe></div>',
            data, re.DOTALL)

    if urls:
        for url in urls:
            url, c = unshortenit.unshorten(url)
            data += url + '\n'

    itemlist += servertools.find_video_items(data=data)

    for videoitem in itemlist:
        videoitem.title = "[[COLOR green][B]%s[/B][/COLOR]] %s" % (
            videoitem.title.capitalize(), item.title)
        videoitem.fulltitle = item.fulltitle
        videoitem.show = item.show
        videoitem.thumbnail = item.thumbnail
        videoitem.channel = item.channel
        videoitem.contentType = item.contentType
        videoitem.language = IDIOMAS['Italiano']

    # Requerido para Filtrar enlaces

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)

    # Requerido para FilterTools

    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)

    if item.contentType != 'episode':
        if config.get_videolibrary_support(
        ) and len(itemlist) > 0 and item.extra != 'findvideos':
            itemlist.append(
                Item(channel=item.channel,
                     title=
                     '[COLOR yellow][B]Aggiungi alla videoteca[/B][/COLOR]',
                     url=item.url,
                     action="add_pelicula_to_library",
                     extra="findvideos",
                     contentTitle=item.contentTitle))

    return itemlist
Exemplo n.º 8
0
Arquivo: pelix.py Projeto: zapan/addon
def findvideos(item):
    logger.info()

    itemlist = []

    data = get_source(item.url)

    bloq = scrapertools.find_single_match(data, '</th>(.*?)</table>')

    patron = '<a href="([^"]+)".*?<td>(.*?)</td><td class="hidden-xs">(.*?)</td>'
    matches = re.compile(patron, re.DOTALL).findall(bloq)
    #for quality_value, lang_value, scrapedurl in matches:
    for scrapedurl, lang_value, quality_value in matches:
        server = ""
        if lang_value not in IDIOMAS:
            lang_value = '6'
        if quality_value not in CALIDADES:
            quality_value = '3'
        language = IDIOMAS[lang_value]

        quality = CALIDADES[quality_value]
        if not config.get_setting("unify"):
            title = ' [%s] [%s]' % (quality, language)
        else:
            title = ''
        if scrapedurl.startswith("magnet:"):
            server = "torrent"
        itemlist.append(Item(channel=item.channel, url=scrapedurl, title='%s'+title, action='play',
                             language=language, quality=quality, infoLabels=item.infoLabels, server=server))
    embed = scrapertools.find_single_match(data, 'movie-online-iframe" src="([^"]+)"')
    if embed:
        fquality = itemlist[1].quality
        flanguage = itemlist[1].language
        title = ' [%s] [%s]' % (quality, language)
        itemlist.append(item.clone(title="%s"+title, url=embed, language=flanguage, quality=fquality, infoLabels=item.infoLabels, action="play"))
    itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize())

    # Requerido para Filtrar enlaces

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)

    # Requerido para FilterTools

    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)

    itemlist = sorted(itemlist, key=lambda it: it.language)

    if item.contentType != 'episode':
        if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos':
            itemlist.append(
                Item(channel=item.channel, title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', url=item.url,
                     action="add_pelicula_to_library", extra="findvideos", contentTitle=item.contentTitle))

    return itemlist
Exemplo n.º 9
0
def findvideos(item):
    logger.info()
    from lib import generictools
    import urllib
    itemlist = []
    data = get_source(item.url)
    data = data.replace("'", '"')
    patron = 'data-type="([^"]+)" data-post="(\d+)" data-nume="(\d+).*?class="title">([^>]+)<'
    matches = re.compile(patron, re.DOTALL).findall(data)

    for type, pt, nm, language in matches:

        if 'sub' in language.lower() or language not in IDIOMAS:
            language = 'VOSE'
        post = {'action': 'doo_player_ajax', 'post': pt, 'nume': nm, 'type': type}
        post = urllib.urlencode(post)
        new_data = httptools.downloadpage(host + 'wp-admin/admin-ajax.php', post=post,
                                          headers={'Referer': item.url}).data
        hidden_url = scrapertools.find_single_match(new_data, "src='([^']+)'")
        new_data = get_source(hidden_url)
        matches = scrapertools.find_multiple_matches(new_data, '\["\d+","([^"]+)",\d+\]')
        for url in matches:
            if not config.get_setting('unify'):

                title = ' [%s]' % IDIOMAS[language]

            else:
                title = ''
            url = url.replace('\\/', '/')
            if 'playdrive' in url:
                new_data = get_source(url)
                url = scrapertools.find_single_match(new_data, 'file:"([^"]+)"')
            itemlist.append(Item(channel=item.channel, title='%s' + title, url=url, action='play',
                                 language=IDIOMAS[language], infoLabels=item.infoLabels))

    itemlist = servertools.get_servers_itemlist(itemlist, lambda x: x.title % x.server.capitalize())

    # Requerido para Filtrar enlaces

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)

    # Requerido para FilterTools

    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)

    itemlist = sorted(itemlist, key=lambda it: it.language)

    if item.contentType != 'episode':
        if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos':
            itemlist.append(
                Item(channel=item.channel, title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', url=item.url,
                     action="add_pelicula_to_library", extra="findvideos", contentTitle=item.contentTitle))

    return itemlist
Exemplo n.º 10
0
def findvideos(item):
    logger.info()
    itemlist = []
    data = httptools.downloadpage(item.url).data
    data = re.sub(r"\n|\r|\t|&nbsp;|<br>", "", data)
    patron = 'id="plays-(\d+)">\s*([^<]+)</div'
    matches = scrapertools.find_multiple_matches(data, patron)
    for xnumber, xname in matches:
        if "/episodios/" in item.url:
            lang = scrapertools.find_single_match(
                data, '#player2%s">([^<]+)</a>' % xnumber)
        else:
            lang = scrapertools.find_single_match(data,
                                                  '#div%s">([^<]+)<' % xnumber)
        if "lat" in lang.lower(): lang = "Lat"
        if 'cast' in lang.lower(): lang = "Cast"
        if 'sub' in lang.lower(): lang = "Sub"
        if lang in IDIOMAS:
            lang = IDIOMAS[lang]
        post = {"nombre": xname}
        url = httptools.downloadpage("https://www.cine-online.eu/ecrypt",
                                     post=urllib.urlencode(post)).data
        url = scrapertools.find_single_match(
            url, '<(?:IFRAME SRC|iframe src)="([^"]+)"')

        if not config.get_setting('unify'):
            title = ' (%s)' % (lang)
        else:
            title = ''
        if url != '':
            itemlist.append(
                item.clone(action="play",
                           title='%s' + title,
                           url=url,
                           language=lang))
    itemlist = servertools.get_servers_itemlist(
        itemlist, lambda i: i.title % i.server.capitalize())

    # Requerido para Filtrar enlaces
    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)
    # Requerido para FilterTools
    itemlist = filtertools.get_links(itemlist, item, list_language)
    # Requerido para AutoPlay
    autoplay.start(itemlist, item)

    if config.get_videolibrary_support() and len(
            itemlist
    ) > 0 and item.extra != 'findvideos' and not "/episodios/" in item.url:
        itemlist.append(
            Item(channel=item.channel,
                 action="add_pelicula_to_library",
                 title=
                 '[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]',
                 url=item.url,
                 extra="findvideos",
                 contentTitle=item.contentTitle))
    return itemlist
Exemplo n.º 11
0
def findvideos(item):
    logger.info()
    itemlist = []
    data = httptools.downloadpage(item.url).data
    data = re.sub(r"<!--.*?-->", "", data)
    data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
    bloque_tab = scrapertools.find_single_match(data, '<div id="verpelicula">(.*?)<div class="tab_container">')
    patron = '<li><a href="#([^<]+)"><span class="re">\d<\/span><span class="([^<]+)"><\/span><span class=.*?>([^<]+)<\/span>'
    check = re.compile(patron, re.DOTALL).findall(bloque_tab)
    servers_data_list = []
    patron = '<div id="(tab\d+)" class="tab_content"><script type="text/rocketscript">(\w+)\("([^"]+)"\)</script></div>'
    matches = re.compile(patron, re.DOTALL).findall(data)
    if len(matches) == 0:
        patron = '<div id="(tab\d+)" class="tab_content"><script>(\w+)\("([^"]+)"\)</script></div>'
        matches = re.compile(patron, re.DOTALL).findall(data)
    for check_tab, server, id in matches:
        if check_tab in str(check):
            idioma, calidad = scrapertools.find_single_match(str(check), "" + check_tab + "', '(.*?)', '(.*?)'")
            servers_data_list.append([server, id, idioma, calidad])
    url = host + "/Js/videod.js"
    data = httptools.downloadpage(url).data
    data = re.sub(r"\n|\r|\t|\s{2}|&nbsp;", "", data)
    data = data.replace('<iframe width="100%" height="400" scrolling="no" frameborder="0"', '')
    patron = 'function (\w+)\(id\).*?'
    patron += 'data-src="([^"]+)"'
    matches = scrapertools.find_multiple_matches(data, patron)
    for server, url in matches:
        for enlace, id, idioma, calidad in servers_data_list:
            if server == enlace:
                video_url = re.sub(r"embed\-|\-.*?x.*?\.html|u\'|\'\(", "", str(url))
                video_url = re.sub(r"'\+codigo\+'", "", video_url)
                video_url = video_url.replace('embed//', 'embed/')
                video_url = video_url + id
                if "goo.gl" in video_url:
                    try:
                        from unshortenit import unshorten
                        url = unshorten(video_url)
                        video_url = scrapertools.get_match(str(url), "u'([^']+)'")
                    except:
                        continue
                title = "Ver en: %s [" + idioma + "][" + calidad + "]"
                itemlist.append(
                    item.clone(title=title, url=video_url, action="play",
                         thumbnail=item.category,
                         language=idioma, quality=calidad))
    tmdb.set_infoLabels(itemlist)
    itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize())
    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)
    if item.library and config.get_videolibrary_support() and len(itemlist) > 0:
        infoLabels = {'tmdb_id': item.infoLabels['tmdb_id'],
                      'title': item.fulltitle}
        itemlist.append(Item(channel=item.channel, title="Añadir esta película a la videoteca",
                             action="add_pelicula_to_library", url=item.url, infoLabels=infoLabels,
                             text_color="0xFFff6666",
                             thumbnail='http://imgur.com/0gyYvuC.png'))
    return itemlist
Exemplo n.º 12
0
def findvideos(item):  # Questa def. deve sempre essere nominata findvideos
    logger.info('[filmsenzalimiticc.py] findvideos')
    itemlist = []

    # Carica la pagina
    data = httptools.downloadpage(item.url, headers=headers).data

    # Aggira protectlink
    if 'protectlink' in data:
        urls = scrapertools.find_multiple_matches(
            data, r'<iframe src="[^=]+=(.*?)"')
        for url in urls:
            url = url.decode('base64')
            if '\t' in url:  #fix alcuni link presentano una tabulazione finale.
                url = url[:-1]
            data += '\t' + url
        if 'nodmca' in data:  #fix player Openload sezione Serie TV
            page = httptools.downloadpage(url, headers=headers).data
            data += '\t' + scrapertools.find_single_match(
                page, '<meta name="og:url" content="([^=]+)">')

    itemlist = servertools.find_video_items(data=data)

    for videoitem in itemlist:
        videoitem.title = item.fulltitle + ' - [[COLOR limegreen]' + videoitem.title + '[/COLOR] ]'
        videoitem.fulltitle = item.fulltitle
        videoitem.thumbnail = item.thumbnail
        videoitem.show = item.show
        videoitem.plot = item.plot
        videoitem.channel = item.channel
        videoitem.contentType = item.contentType

    # Link Aggiungi alla Libreria
    if item.contentType != 'episode':
        if config.get_videolibrary_support(
        ) and len(itemlist) > 0 and item.extra != 'findservers':
            itemlist.append(
                Item(channel=item.channel,
                     title=
                     '[COLOR lightblue][B]Aggiungi alla videoteca[/B][/COLOR]',
                     url=item.url,
                     action='add_pelicula_to_library',
                     extra='findservers',
                     contentTitle=item.contentTitle))

    # Necessario per filtrare i Link
    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)

    # Necessario per  FilterTools
    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Necessario per  AutoPlay
    autoplay.start(itemlist, item)

    return itemlist
Exemplo n.º 13
0
def findvideos(item):
    logger.info()
    itemlist = []
    data = get_source(item.url)
    patron = 'id="option-(\d+)".*?rptss" src="([^"]+)" frameborder'
    matches = re.compile(patron, re.DOTALL).findall(data)
    lang = ''
    for option, scrapedurl in matches:
        lang = scrapertools.find_single_match(
            data, 'href=#option-%s>.*?/flags/(.*?).png' % option)
        quality = ''
        if lang not in IDIOMAS:
            lang = 'en'
        title = '%s %s'

        itemlist.append(
            Item(channel=item.channel,
                 url=scrapedurl,
                 title=title,
                 action='play',
                 quality=quality,
                 language=IDIOMAS[lang],
                 infoLabels=item.infoLabels))

    itemlist = servertools.get_servers_itemlist(
        itemlist, lambda x: x.title % (x.server.capitalize(), x.language))

    # Requerido para Filtrar enlaces

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)

    # Requerido para FilterTools

    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)

    itemlist = sorted(itemlist, key=lambda it: it.language)

    if item.contentType != 'episode':
        if config.get_videolibrary_support(
        ) and len(itemlist) > 0 and item.extra != 'findvideos':
            itemlist.append(
                Item(
                    channel=item.channel,
                    title=
                    '[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]',
                    url=item.url,
                    action="add_pelicula_to_library",
                    extra="findvideos",
                    contentTitle=item.contentTitle))

    return itemlist
Exemplo n.º 14
0
def findvideos(item):
    logger.info("kod.casacinema findvideos")

    data = item.url if item.extra == "tvshow" else httptools.downloadpage(
        item.url, headers=headers).data

    html = httptools.downloadpage(data).data
    patron = '"http:\/\/shrink-service\.it\/[^\/]+\/[^\/]+\/([^"]+)"'
    matches = re.compile(patron, re.DOTALL).findall(html)

    for url in matches:
        if url is not None:
            data = data
        else:
            continue

    itemlist = servertools.find_video_items(data=data)
    for videoitem in itemlist:
        server = re.sub(r'[-\[\]\s]+', '', videoitem.title).capitalize()
        videoitem.title = "".join(
            ["[%s] " % support.color(server, 'orange'), item.title])
        videoitem.fulltitle = item.fulltitle
        videoitem.thumbnail = item.thumbnail
        videoitem.show = item.show
        videoitem.plot = item.plot
        videoitem.channel = item.channel
        videoitem.contentType = item.contentType
        videoitem.language = IDIOMAS['Italiano']

    # Requerido para Filtrar enlaces

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)

    # Requerido para FilterTools

    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)

    if item.contentType != 'episode':
        if config.get_videolibrary_support(
        ) and len(itemlist) > 0 and item.extra != 'findvideos':
            itemlist.append(
                Item(channel=item.channel,
                     title=
                     '[COLOR yellow][B]Aggiungi alla videoteca[/B][/COLOR]',
                     url=item.url,
                     action="add_pelicula_to_library",
                     extra="findvideos",
                     contentTitle=item.contentTitle))

    return itemlist
Exemplo n.º 15
0
def findvideos(item):
    logger.info()
    itemlist = []
    serv = []
    data = httptools.downloadpage(item.url, canonical=canonical).data
    output = scrapertools.find_single_match(
        data, 'var output = "(.*?)output ').replace("\\", "")
    output = output.split(";")
    quality = scrapertools.find_single_match(
        data, "<strong>Calidad: </strong> (\d+)p<")
    online = scrapertools.find_single_match(
        data, '<div class="centradito"><script>[A-z0-9]+ \(([^\)]+)')
    online = online.replace('"', '').split(",")
    for elem in output:
        if "href" in elem:
            ref = scrapertools.find_single_match(elem, 'href="([^"]+)"')
            id = scrapertools.find_single_match(elem, 'codigo(\d+)')
            if id:
                id = (int(id) - 1)
            if "codigo" in ref:
                url = online[id]
            if not "no.html" in ref:
                url = "%s%s" % (ref, online[id])
            itemlist.append(
                item.clone(action="play",
                           title="%s",
                           contentTitle=item.title,
                           url=url))
    descarga = scrapertools.find_single_match(data, "var abc = '([^']+)'")
    itemlist.append(
        item.clone(action="play",
                   title="%s",
                   contentTitle=item.title,
                   url=descarga))
    itemlist = servertools.get_servers_itemlist(
        itemlist, lambda i: i.title % i.server.capitalize())

    # Requerido para Filtrar enlaces
    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)
    # Requerido para AutoPlay
    autoplay.start(itemlist, item)

    if config.get_videolibrary_support() and len(
            itemlist
    ) > 0 and item.extra != 'findvideos' and not "/episodios/" in item.url:
        itemlist.append(
            item.clone(
                action="add_pelicula_to_library",
                title=
                '[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]',
                url=item.url,
                extra="findvideos",
                contentTitle=item.contentTitle))
    return itemlist
Exemplo n.º 16
0
def findvideos(item):
    logger.info()
    itemlist = []
    audios = ["VOSE","LAT"]
    listed = []
    soup = create_soup(item.url)
    descargas = ""
    if soup.find(src=re.compile("salynpm-links.")):
        descargas = soup.find(src=re.compile("salynpm-links."))['src']
    if soup.find(href=re.compile("salynpm-links.")):
        descargas = soup.find(href=re.compile("salynpm-links."))['href']
    if descargas:
        descargas = create_soup(descargas)
        data = descargas.find('div', class_='post-entry')
        matches = data.find_all('a')
        for elem in matches:
            url = elem['href']
            url = codecs.decode(url,"unicode-escape")
            url = url.replace("?download=1", "").replace("dropboxusercontent", "dropbox").replace("/dl.dropbox", "/www.dropbox")
            if url != "" and url not in listed:
                listed.append(url)
    online = soup.find_all(type='video/mp4')
    codigo = soup.find(string=re.compile("document.write"))
    if codigo:
        codigo = scrapertools.find_single_match(codigo, r"document\.write\(unescape\('([^']+)'")
        codigo = codecs.decode(codigo.replace("%", ""), "hex")
        codigo = BeautifulSoup(codigo, "html5lib", from_encoding="utf-8")
        online = codigo.find_all(type='video/mp4')
    if online:
        for elem in online:
            url = elem['src']
            if "bit.ly" in url:
                url = httptools.downloadpage(url, follow_redirects=False).headers["location"]
            url = codecs.decode(url,"unicode-escape")
            url = url.replace("?download=1", "").replace("dropboxusercontent", "dropbox").replace("/dl.dropbox", "/www.dropbox")
            if url != "" and url not in listed:
                listed.append(url)
    for url in listed:
        if not "bit.ly" in url and not "https://archive.org/download/salynpm" in url:
            itemlist.append(item.clone(action="play", title = "%s", language=audios, url = url ))
    itemlist = servertools.get_servers_itemlist(itemlist, lambda i: i.title % i.server.capitalize())

    # Requerido para Filtrar enlaces
    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)
    # Requerido para FilterTools
    itemlist = filtertools.get_links(itemlist, item, list_language)
    # Requerido para AutoPlay
    autoplay.start(itemlist, item)

    if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra !='findvideos' and not "/episodios/" in item.url :
        itemlist.append(item.clone(action="add_pelicula_to_library", 
                             title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', url=item.url,
                             extra="findvideos", contentTitle=item.contentTitle)) 
    return itemlist
Exemplo n.º 17
0
def findvideos(item):
    log()

    itemlist = []
    itemlist = support.hdpass_get_servers(item)

    if checklinks:
        itemlist = servertools.check_list_links(itemlist, checklinks_number)

    autoplay.start(itemlist, item)

    return itemlist
Exemplo n.º 18
0
def findvideos(item):
    logger.info("[italiafilmvideohd.py] findvideos")

    itemlist = []

    # Carica la pagina
    data = httptools.downloadpage(item.url, headers=headers).data

    patron = r'<div class="playerhdpass" id="playerhdpass"><iframe width=".+?" height=".+?" src="([^"]+)"'
    url = scrapertools.find_single_match(data, patron)

    if url:
        data += httptools.downloadpage(url, headers=headers).data

    itemlist = servertools.find_video_items(data=data)
    for videoitem in itemlist:
        videoitem.title = item.title + videoitem.title
        videoitem.fulltitle = item.fulltitle
        videoitem.thumbnail = item.thumbnail
        videoitem.show = item.show
        videoitem.plot = item.plot
        videoitem.channel = item.channel
        videoitem.contentType = item.contentType
        videoitem.language = IDIOMAS['Italiano']

    # Requerido para Filtrar enlaces

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)

    # Requerido para FilterTools

    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)

    if item.contentType != 'episode':
        if config.get_videolibrary_support(
        ) and len(itemlist) > 0 and item.extra != 'findvideos':
            itemlist.append(
                Item(channel=item.channel,
                     title=
                     '[COLOR yellow][B]Aggiungi alla videoteca[/B][/COLOR]',
                     url=item.url,
                     action="add_pelicula_to_library",
                     extra="findvideos",
                     contentTitle=item.contentTitle))

    return itemlist
Exemplo n.º 19
0
def findvideos(item):
    import urllib
    logger.info()

    itemlist = []
    g_host = 'https://storage.googleapis.com/proven-reality-256313.appspot.com/'

    data = get_source(item.url)
    patron = r'%sreproductor\?url=([^&]+)' % host
    matches = re.compile(patron, re.DOTALL).findall(data)

    for scrapedurl in matches:
        server = ''
        scrapedurl = urllib.unquote(scrapedurl)

        if "cl?url=" in scrapedurl:
            scrapedurl = scrapertools.find_single_match(
                scrapedurl, '\?url=(.*)')
            url = g_host + scrapedurl.replace('+', '%20')
            server = "directo"

        elif '?url=' in scrapedurl:
            url = scrapertools.find_single_match(scrapedurl, '.*?url=([^&]+)?')
        else:
            url = scrapedurl

        if url:
            itemlist.append(
                Item(channel=item.channel,
                     title='%s',
                     url=url,
                     action='play',
                     language=item.language,
                     infoLabels=item.infoLabels,
                     server=server))

    itemlist = servertools.get_servers_itemlist(
        itemlist, lambda x: x.title % x.server.capitalize())

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)

    # Requerido para FilterTools

    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)

    return itemlist
Exemplo n.º 20
0
def findvideos(item):
    logger.info()

    itemlist = []
    #g_host = 'https://192-99-219-204.sysdop.com/'

    data = get_source(item.url)
    patron = r'%sreproductor\?url=([^&]+)' % host
    matches = re.compile(patron, re.DOTALL).findall(data)

    for scrapedurl in matches:
        server = ''
        scrapedurl = urllib.unquote(scrapedurl)
        
        if "cl?url=" in scrapedurl:
            scrapedurl = scrapertools.find_single_match(scrapedurl, '\?url=(.*)')
            url = host + scrapedurl.replace('+', '%20')
            check = httptools.downloadpage(url, only_headers=True, ignore_response_code=True).code

            if check != 200: 
                continue
            server = "directo"
        
        elif '?url=' in  scrapedurl:
            url = scrapertools.find_single_match(scrapedurl, '.*?url=([^&]+)?')
        else:
            url = scrapedurl

        if url:
            itemlist.append(Item(channel=item.channel, title='%s', url=url, action='play',
                                 language=item.language, infoLabels=item.infoLabels, server=server))

    itemlist = servertools.get_servers_itemlist(itemlist, lambda x: x.title % x.server.capitalize())

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)

    # Requerido para FilterTools

    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)

    if config.get_videolibrary_support() and itemlist > 0 and item.extra != 'findvideos' and not item.contentSerieName:
        itemlist.append(Item(channel=item.channel, title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]',
                             url=item.url, action="add_pelicula_to_library", extra="findvideos",
                             contentTitle=item.contentTitle))

    return itemlist
Exemplo n.º 21
0
def controls(itemlist, item, AutoPlay=True, CheckLinks=True, down_load=True):
    from core import jsontools
    from platformcode.config import get_setting

    CL = get_setting('checklinks') or get_setting('checklinks', item.channel)
    autoplay_node = jsontools.get_node_from_file('autoplay', 'AUTOPLAY')
    channel_node = autoplay_node.get(item.channel, {})
    if not channel_node:  # non ha mai aperto il menu del canale quindi in autoplay_data.json non c'e la key
        channelFile = __import__('channels.' + item.channel,
                                 fromlist=["channels.%s" % item.channel])
        autoplay.init(item.channel, channelFile.list_servers,
                      channelFile.list_quality)

    autoplay_node = jsontools.get_node_from_file('autoplay', 'AUTOPLAY')
    channel_node = autoplay_node.get(item.channel, {})
    settings_node = channel_node.get('settings', {})
    AP = get_setting('autoplay') or settings_node['active']
    HS = config.get_setting('hide_servers')

    if CL and not AP:
        if get_setting('checklinks', item.channel):
            checklinks = get_setting('checklinks', item.channel)
        else:
            checklinks = get_setting('checklinks')
        if get_setting('checklinks_number', item.channel):
            checklinks_number = get_setting('checklinks_number', item.channel)
        else:
            checklinks_number = get_setting('checklinks_number')
        itemlist = servertools.check_list_links(itemlist, checklinks_number)

    if AutoPlay == True and not 'downloads' in inspect.stack(
    )[3][1] + inspect.stack()[4][1]:
        autoplay.start(itemlist, item)

    if item.contentChannel != 'videolibrary':
        videolibrary(itemlist, item, function_level=3)
    if get_setting('downloadenabled') and down_load == True:
        download(itemlist, item, function_level=3)

    VL = False
    try:
        if  'downloads' in inspect.stack()[3][1] + inspect.stack()[4][1] or \
            inspect.stack()[4][3] == 'play_from_library' or \
            inspect.stack()[5][3] == 'play_from_library' or \
            'videolibrary' in inspect.stack()[3][1] or \
            'videolibrary' in inspect.stack()[4][1]:
            VL = True
    except:
        pass
    if not AP or VL or not HS:
        return itemlist
Exemplo n.º 22
0
def findvideos(item):
    logger.info()
    itemlist = []
    new_item = []
    data = httptools.downloadpage(item.url).data
    itemlist = servertools.find_video_items(data = data)
    url = scrapertools.find_single_match( data, 'location.href = "([^"]+)"')
    new_item.append(Item(url = url, title = "Torrent", server = "torrent", action = "play"))
    itemlist.extend(new_item)
    for it in itemlist:
        it.channel = item.channel
    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)
    return itemlist
Exemplo n.º 23
0
def findvideos(item):
    support.log()

    itemlist = support.hdpass_get_servers(item)

    if checklinks:
        itemlist = servertools.check_list_links(itemlist, checklinks_number)

    # itemlist = filtertools.get_links(itemlist, item, list_language)

    autoplay.start(itemlist, item)
    support.videolibrary(itemlist, item ,'color kod bold')

    return itemlist
Exemplo n.º 24
0
def findvideos(item):
    support.log()

    itemlist = support.hdpass_get_servers(item)

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)

    itemlist = filtertools.get_links(itemlist, item, list_language)

    autoplay.start(itemlist, item)
    support.videolibrary(itemlist, item ,'color blue bold')

    return itemlist
Exemplo n.º 25
0
def findvideos(item):
    import urllib
    logger.info()

    itemlist = []

    data = get_source(item.url)
    patron = 'id="Opt\d+">.*?src=(.*?) frameborder'
    matches = re.compile(patron, re.DOTALL).findall(data)

    for scrapedurl in matches:
        server = ''
        scrapedurl = scrapedurl.replace('&quot;', '')
        new_data = get_source(scrapedurl)

        if "/stream/" in scrapedurl:
            scrapedurl = scrapertools.find_single_match(
                new_data, '<source src="([^"]+)"')
            server = "directo"
        else:
            scrapedurl = scrapertools.find_single_match(
                scrapedurl, '.*?url=([^&]+)?')
            scrapedurl = urllib.unquote(scrapedurl)

        if scrapedurl != '':
            itemlist.append(
                Item(channel=item.channel,
                     title='%s',
                     url=scrapedurl,
                     action='play',
                     language=item.language,
                     infoLabels=item.infoLabels,
                     server=server))

    itemlist = servertools.get_servers_itemlist(
        itemlist, lambda x: x.title % x.server.capitalize())

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)

    # Requerido para FilterTools

    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)

    return itemlist
Exemplo n.º 26
0
def findvideos(item):
    logger.info("[casacinemaInfo.py] findvideos")

    itemlist = support.hdpass_get_servers(item)

    # Requerido para Filtrar enlaces

    if checklinks:
        itemlist = servertools.check_list_links(itemlist, checklinks_number)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)
    return itemlist
Exemplo n.º 27
0
def findvideos(item):
    logger.info()
    itemlist = []
    data = get_source(item.url)
    patron = 'video\[\d+\] = .*?src="([^"]+)".*?;'
    matches = re.compile(patron, re.DOTALL).findall(data)
    option = 1
    for scrapedurl in matches:
        lang = scrapertools.find_single_match(data, '"#option%s">([^<]+)<' % str(option)).strip()
        lang = lang.lower()
        if lang not in IDIOMAS:
            lang = 'subtitulado'
        quality = ''
        title = '%s %s'

        if 'redirector' in scrapedurl:
            url_data = httptools.downloadpage(scrapedurl).data
            url = scrapertools.find_single_match(url_data,'window.location.href = "([^"]+)";')
        else:
            url = scrapedurl
        if url != '':
            itemlist.append(
                Item(channel=item.channel, url=url, title=title, action='play', quality=quality,
                     language=IDIOMAS[lang], infoLabels=item.infoLabels))
            option += 1
    itemlist = servertools.get_servers_itemlist(itemlist, lambda x: x.title % (x.server.capitalize(), x.language))

    # Requerido para Filtrar enlaces

    if __comprueba_enlaces__:
         itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)

    # Requerido para FilterTools

    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)

    itemlist = sorted(itemlist, key=lambda it: it.language)

    if item.contentType != 'episode':
        if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos':
            itemlist.append(
                Item(channel=item.channel, title='[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]', url=item.url,
                     action="add_pelicula_to_library", extra="findvideos", contentTitle=item.contentTitle))

    return itemlist
Exemplo n.º 28
0
def findvideos(item):
    logger.info()
    itemlist = []
    if not "|" in item.extra and not __menu_info__:
        data = httptools.downloadpage(item.url).data
        year = scrapertools.find_single_match(data, '<div class="media-summary">.*?release.*?>(\d+)<')
        if year != "" and not "tmdb_id" in item.infoLabels:
            item.infoLabels["year"] = year
            tmdb.set_infoLabels_item(item, __modo_grafico__)
        if item.infoLabels["plot"] == "":
            sinopsis = scrapertools.find_single_match(data, '<p id="media-plot".*?>.*?\.\.\.(.*?)Si te parece')
            item.infoLabels["plot"] = scrapertools.htmlclean(sinopsis)
    id = scrapertools.find_single_match(item.url, '/(\d+)/')
    if "|" in item.extra or not __menu_info__:
        extra = item.extra
        if "|" in item.extra:
            extra = item.extra[:-1]
        url = host + "/sources/list?id=%s&type=%s&order=%s" % (id, extra, "streaming")
        itemlist=(get_enlaces(item, url, "Online"))
        url = host + "/sources/list?id=%s&type=%s&order=%s" % (id, extra, "download")
        itemlist.extend(get_enlaces(item, url, "de Descarga"))
        if extra == "media":
            data_trailer = httptools.downloadpage(host + "/media/trailer?idm=%s&mediaType=1" % id).json
            trailer_url = data_trailer["video"]["url"]
            if trailer_url != "":
                item.infoLabels["trailer"] = trailer_url
            title = "Ver enlaces %s - [" + item.contentTitle + "]"
            itemlist.append(item.clone(channel="trailertools", action="buscartrailer", title="Buscar Tráiler",
                                       text_color="magenta", context=""))
            if config.get_videolibrary_support() and not "|" in item.extra:
                itemlist.append(Item(channel=item.channel, action="add_pelicula_to_library", text_color=color5,
                                     title="Añadir película a la videoteca", url=item.url, thumbnail=item.thumbnail,
                                     fanart=item.fanart, fulltitle=item.fulltitle,
                                     extra="media|"))
    else:
        url = host + "/sources/list?id=%s&type=%s&order=%s" % (id, item.extra, item.type)
        type = item.type.replace("streaming", "Online").replace("download", "de Descarga")
        itemlist.extend(get_enlaces(item, url, type))
    if __comprueba_enlaces__:
        for it in itemlist:
            if it.server != '' and it.url != '':
                it.url = normalizar_url(it.url, it.server)
        itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)
    # Requerido para FilterTools
    itemlist = filtertools.get_links(itemlist, item, list_language)
    # Requerido para AutoPlay
    autoplay.start(itemlist, item)
    return itemlist
Exemplo n.º 29
0
def findvideos(item):
    logger.info(" findvideos")

    if item.contentType != "episode":
        return findvideos_movie(item)

    itemlist = servertools.find_video_items(data=item.url)
    logger.info(itemlist)

    for videoitem in itemlist:
        videoitem.title = "".join([
            item.title, '[COLOR green][B]' + videoitem.title + '[/B][/COLOR]'
        ])
        videoitem.fulltitle = item.fulltitle
        videoitem.thumbnail = item.thumbnail
        videoitem.show = item.show
        videoitem.plot = item.plot
        videoitem.channel = item.channel
        videoitem.contentType = item.contentType
        videoitem.language = IDIOMAS['Italiano']

    # Requerido para Filtrar enlaces

    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)

    # Requerido para FilterTools

    itemlist = filtertools.get_links(itemlist, item, list_language)

    # Requerido para AutoPlay

    autoplay.start(itemlist, item)

    if item.contentType != 'episode':
        if config.get_videolibrary_support(
        ) and len(itemlist) > 0 and item.extra != 'findvideos':
            itemlist.append(
                Item(channel=item.channel,
                     title=
                     '[COLOR yellow][B]Aggiungi alla videoteca[/B][/COLOR]',
                     url=item.url,
                     action="add_pelicula_to_library",
                     extra="findvideos",
                     contentTitle=item.contentTitle))

    return itemlist
Exemplo n.º 30
0
def findvideos(item):
    logger.info()
    itemlist = []
    data = httptools.downloadpage(item.url).data
    patron = '"server":"[^"]+",'
    patron += '"lang":"([^"]+)",'
    patron += '"quality":"\w+ \(([^"]+)\)",'
    patron += '"link":"https:.*?=([^"]+)"'
    matches = scrapertools.find_multiple_matches(data, patron)
    for lang, quality, url in matches:
        if lang in IDIOMAS:
            lang = IDIOMAS[lang]
        url = base64.b64decode(url + "==")
        if not config.get_setting('unify'):
            title = '[COLOR red] %s [/COLOR] (%s)' % (quality, lang)
        else:
            title = ''
        itemlist.append(
            item.clone(action="play",
                       title='%s' + title,
                       url=url,
                       language=lang,
                       quality=quality,
                       fulltitle=item.title))
    itemlist = servertools.get_servers_itemlist(
        itemlist, lambda i: i.title % i.server.capitalize())
    # Requerido para Filtrar enlaces
    if __comprueba_enlaces__:
        itemlist = servertools.check_list_links(itemlist,
                                                __comprueba_enlaces_num__)
    # Requerido para FilterTools
    itemlist = filtertools.get_links(itemlist, item, list_language)
    # Requerido para AutoPlay
    autoplay.start(itemlist, item)

    if config.get_videolibrary_support(
    ) and len(itemlist) > 0 and item.extra != 'findvideos':
        itemlist.append(
            Item(channel=item.channel,
                 action="add_pelicula_to_library",
                 title=
                 '[COLOR yellow]Añadir esta pelicula a la videoteca[/COLOR]',
                 url=item.url,
                 extra="findvideos",
                 contentTitle=item.contentTitle))
    return itemlist