def XTList(url, page=1): sort = getXTSortMethod() if re.search('\?', url, re.DOTALL | re.IGNORECASE): url = url + '&filtre=' + sort + '&display=extract' else: url = url + '?filtre=' + sort + '&display=extract' try: listhtml = utils.getHtml(url, '') except: return None match = re.compile( r'src="([^"]+?)" class="attachment.*?<a href="([^"]+)" title="([^"]+)".*?<div class="right">(.*?)</div>\s+</li>', re.DOTALL | re.IGNORECASE).findall(listhtml) for img, videopage, name, desc in match: name = utils.cleantext(name) desc = utils.cleanhtml(desc) desc = utils.cleantext(desc) utils.addDownLink(name, videopage, 23, img, desc) if re.search('<link rel="next"', listhtml, re.DOTALL | re.IGNORECASE): npage = page + 1 url = url.replace('/page/' + str(page) + '/', '/page/' + str(npage) + '/') utils.addDir('Next Page (' + str(npage) + ')', url, 21, '', npage) xbmcplugin.endOfDirectory(utils.addon_handle)
def EXList(url): url = 'https:' + url if url.startswith('//') else url try: listhtml = utils.getHtml(url, '') except: return None match = re.compile( 'notice_image">.*?<a title="([^"]+)" href="([^"]+)".*?src="([^"]+)".*?"notice_description">(.*?)</div', re.DOTALL | re.IGNORECASE).findall(listhtml) for name, videopage, img, desc in match: img = 'https:' + img if img.startswith('//') else img desc = utils.cleanhtml(desc).strip() utils.addDownLink(name, videopage, 112, img, desc) try: nextp = re.compile( """class="current".*?<a href='([^']+)' title='([^']+)'""", re.DOTALL | re.IGNORECASE).search(listhtml) next_page = urllib.quote_plus(nextp.group(1)).replace('%3A', ':').replace( '%2F', '/') if not next_page.startswith('http'): next_page = os.path.split(url)[0] + '/' + next_page text = nextp.group(2).split(' ')[1] if ' ' in nextp.group( 2) else nextp.group(2) utils.addDir('Next Page ({})'.format(text), next_page, 111, '') except: pass xbmcplugin.endOfDirectory(utils.addon_handle)
def XTList(url, page=1): original_url = str(url) sort = getXTSortMethod() if re.search('\?', url, re.DOTALL | re.IGNORECASE): url = url + '&filtre=' + sort + '&display=extract' else: url = url + '?filtre=' + sort + '&display=extract' try: listhtml = utils.getHtml(url, '') except: return None match = re.compile( 'src="([^"]+)" class="attachment-thumb_site.*?<a href="([^"]+)"[^<]+<span>([^<]+).*?">.*?<p>([^<]+)', re.DOTALL | re.IGNORECASE).findall(listhtml) for img, videopage, name, desc in match: name = utils.cleantext(name) desc = utils.cleanhtml(desc) desc = utils.cleantext(desc) utils.addDownLink(name, videopage, 23, img, desc) if re.search('<link rel="next"', listhtml, re.DOTALL | re.IGNORECASE): npage = page + 1 next_url = original_url.replace('/page/' + str(page) + '/', '/page/' + str(npage) + '/') utils.addDir('Next Page (' + str(npage) + ')', next_url, 21, '', npage) xbmcplugin.endOfDirectory(utils.addon_handle)
def List(url): if utils.addon.getSetting("chaturbate") == "true": clean_database(False) try: response = utils.getHtml(url) except: return None data = json.loads(response) for camgirl in data['results']: name = utils.cleanhtml(camgirl['display_name']).encode("ascii", errors="ignore") videourl = "https://www.camsoda.com/api/v1/video/vtoken/" + camgirl['username'] img = "https:" + camgirl['thumb_small'] utils.addDownLink(name, videourl, 478, img, camgirl['subject_html'], noDownload=True) xbmcplugin.endOfDirectory(utils.addon_handle)
def List(url): if utils.addon.getSetting("chaturbate") == "true": clean_database(False) try: response = utils.getHtml(url) except: return None data = json.loads(response) model_list = data["models"] for model in model_list: name = utils.cleanhtml(model['username']) videourl = model['stream']['url'] img = model['previewUrl'] if utils.addon.getSetting("model_pic") == "0" else model['snapshotUrl'] site.add_download_link(name, videourl, 'Playvid', img, '', noDownload=True) utils.eod()
def EXList(url): url = 'https:'+url if url.startswith('//') else url try: listhtml = utils.getHtml(url, '') except: return None match = re.compile('notice_image">.*?<a title="([^"]+)" href="([^"]+)".*?src="([^"]+)".*?"notice_description">(.*?)</div', re.DOTALL | re.IGNORECASE).findall(listhtml) for name, videopage, img, desc in match: img = 'https:'+img if img.startswith('//') else img desc = utils.cleanhtml(desc).strip() utils.addDownLink(name, videopage, 112, img, desc) try: nextp=re.compile("""class="current".*?<a href='([^']+)' title='([^']+)'""", re.DOTALL | re.IGNORECASE).search(listhtml) next_page = urllib.quote_plus(nextp.group(1)).replace('%3A', ':').replace('%2F', '/') if not next_page.startswith('http'): next_page = os.path.split(url)[0] + '/' + next_page text = nextp.group(2).split(' ')[1] if ' ' in nextp.group(2) else nextp.group(2) utils.addDir('Next Page ({})'.format(text), next_page, 111,'') except: pass xbmcplugin.endOfDirectory(utils.addon_handle)
def XTList(url, page=1): original_url = str(url) sort = getXTSortMethod() if re.search('\?', url, re.DOTALL | re.IGNORECASE): url = url + '&filtre=' + sort + '&display=extract' else: url = url + '?filtre=' + sort + '&display=extract' try: listhtml = utils.getHtml(url, '') except: return None match = re.compile('src="([^"]+)" class="attachment-thumb_site.*?<a href="([^"]+)"[^<]+<span>([^<]+).*?">.*?<p>([^<]+)', re.DOTALL | re.IGNORECASE).findall(listhtml) for img, videopage, name, desc in match: name = utils.cleantext(name) desc = utils.cleanhtml(desc) desc = utils.cleantext(desc) utils.addDownLink(name, videopage, 23, img, desc) if re.search('<link rel="next"', listhtml, re.DOTALL | re.IGNORECASE): npage = page + 1 next_url = original_url.replace('/page/' + str(page) + '/' , '/page/' + str(npage) + '/') utils.addDir('Next Page ('+str(npage)+')', next_url, 21, '', npage) xbmcplugin.endOfDirectory(utils.addon_handle)