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]))
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