示例#1
0
def gk_source_maker(link):

    html = client.request(link)
    urls = client.parseDOM(html, 'tr', attrs={'id': 'link-\d+'})
    item_data = client.parseDOM(html, 'div', attrs={'class': 'data'})[0]
    title = client.parseDOM(item_data, 'h1')[0]
    year = client.parseDOM(item_data,
                           'span',
                           attrs={'itemprop': 'dateCreated'})[0]
    year = re.search(r'(\d{4})', year).group(1)
    image = client.parseDOM(html,
                            'img',
                            attrs={'itemprop': 'image'},
                            ret='src')[0]
    urls = [u for u in client.parseDOM(urls, 'a', ret='href')]
    urls = [client.request(u, output='geturl') for u in urls]

    hosts = [
        ''.join([control.lang(30015),
                 urlsplit(url).netloc]) for url in urls
    ]

    data = {
        'links': list(zip(hosts, urls)),
        'title': title,
        'year': int(year),
        'image': image
    }

    return data
def url2name(url):

    url = url.split('|')[0]
    return basename(unquote(urlsplit(url)[2]))
示例#3
0
def url2name(url):

    from os.path import basename

    url = url.split('|')[0]
    return basename(unquote(urlsplit(url)[2]))
def conditionals(url):

    add_plugin_dirs(control.transPath(PLUGINS_PATH))

    def yt(uri):

        if uri.startswith('plugin://'):
            return uri

        if len(uri) == 11:

            uri = YT_URL + uri

        try:
            return youtube.wrapper(uri)
        except YouTubeException as exp:
            log_debug('Youtube resolver failure, reason: ' + repr(exp))
            return

    if 'youtu' in url:

        log_debug('Resolved with youtube addon')

        return yt(url)

    elif url.startswith('iptv://'):

        try:
            if CACHE_DEBUG:
                hosts, urls = common.iptv(urlsplit(url).netloc)
            else:
                hosts, urls = cache.get(common.iptv, 2, urlsplit(url).netloc)
        except Exception:
            return

        stream = mini_picker(hosts, urls, dont_check=True)

        return stream

    elif HOSTS(url) and HostedMediaFile(url).valid_url():

        try:
            stream = resolve_url(url)
        except urllib2.HTTPError:
            return url

        return stream

    elif HostedMediaFile(url).valid_url():

        if control.setting('show_alt_vod') == 'true':

            try:
                stream = resolve_url(url)
            except urllib2.HTTPError:
                return url

            return stream

        else:

            control.okDialog('AliveGR', control.lang(30354))
            return 'https://static.adman.gr/inpage/blank.mp4'

    elif GM_BASE in url:

        if CACHE_DEBUG:
            sources = source_maker(url)
        else:
            sources = cache.get(source_maker, 6, url)
            if not sources:
                return

        link = mini_picker(sources['hosts'], sources['links'])

        if not link:
            return

        stream = conditionals(link)
        return stream

    elif GK_BASE in url:

        if CACHE_DEBUG:
            stream = gk_debris(url)
        else:
            stream = cache.get(gk_debris, 48, url)
        if not stream:
            return
        else:
            return stream

    else:

        return url