Merge remote-tracking branch 'origin/master'
This commit is contained in:
+11
-29
@@ -246,7 +246,7 @@ def findvid_serie(item):
|
|||||||
matches = re.compile(patron, re.DOTALL).finditer(html)
|
matches = re.compile(patron, re.DOTALL).finditer(html)
|
||||||
for match in matches:
|
for match in matches:
|
||||||
scrapedurl = match.group(1)
|
scrapedurl = match.group(1)
|
||||||
scrapedtitle = match.group(2)
|
scrapedtitle = ("%s" % support.color(blktxt,"orange") + " - " if blktxt else "") + match.group(2)
|
||||||
# title = item.title + " [COLOR blue][" + scrapedtitle + "][/COLOR]"
|
# title = item.title + " [COLOR blue][" + scrapedtitle + "][/COLOR]"
|
||||||
itemlist.append(
|
itemlist.append(
|
||||||
Item(channel=item.channel,
|
Item(channel=item.channel,
|
||||||
@@ -266,34 +266,16 @@ def findvid_serie(item):
|
|||||||
lnkblkp = []
|
lnkblkp = []
|
||||||
|
|
||||||
data = item.url
|
data = item.url
|
||||||
|
|
||||||
# First blocks of links
|
# Blocks with split
|
||||||
if data[0:data.find('<a')].find(':') > 0:
|
blk=re.split("(?:>\s*)?([A-Za-z\s0-9]*):\s*<",data,re.S)
|
||||||
lnkblk.append(data[data.find(' - ') + 3:data[0:data.find('<a')].find(':') + 1])
|
blktxt=""
|
||||||
lnkblkp.append(data.find(' - ') + 3)
|
for b in blk:
|
||||||
else:
|
if b[0:3]=="a h" or b[0:4]=="<a h":
|
||||||
lnkblk.append(' ')
|
load_vid_series("<%s>"%b, item, itemlist, blktxt)
|
||||||
lnkblkp.append(data.find('<a'))
|
blktxt=""
|
||||||
|
elif len(b.strip())>1:
|
||||||
# Find new blocks of links
|
blktxt=b.strip()
|
||||||
patron = r'<a\s[^>]+>[^<]+</a>([^<]+)'
|
|
||||||
matches = re.compile(patron, re.DOTALL).finditer(data)
|
|
||||||
for match in matches:
|
|
||||||
sep = match.group(1)
|
|
||||||
if sep != ' - ':
|
|
||||||
lnkblk.append(sep)
|
|
||||||
|
|
||||||
i = 0
|
|
||||||
if len(lnkblk) > 1:
|
|
||||||
for lb in lnkblk[1:]:
|
|
||||||
lnkblkp.append(data.find(lb, lnkblkp[i] + len(lnkblk[i])))
|
|
||||||
i = i + 1
|
|
||||||
|
|
||||||
for i in range(0, len(lnkblk)):
|
|
||||||
if i == len(lnkblk) - 1:
|
|
||||||
load_vid_series(data[lnkblkp[i]:], item, itemlist, lnkblk[i])
|
|
||||||
else:
|
|
||||||
load_vid_series(data[lnkblkp[i]:lnkblkp[i + 1]], item, itemlist, lnkblk[i])
|
|
||||||
|
|
||||||
return support.server(item, itemlist=itemlist)
|
return support.server(item, itemlist=itemlist)
|
||||||
|
|
||||||
|
|||||||
+11
-4
@@ -14,6 +14,12 @@ from platformcode import logger, config
|
|||||||
headers = [['User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0']]
|
headers = [['User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0']]
|
||||||
|
|
||||||
def test_video_exists(page_url):
|
def test_video_exists(page_url):
|
||||||
|
def int_bckup_method():
|
||||||
|
global data,headers
|
||||||
|
page_url = scrapertools.find_single_match(data, r"""<center><a href='(https?:\/\/wstream[^']+)'\s*title='bkg'""")
|
||||||
|
if page_url:
|
||||||
|
data = httptools.downloadpage(page_url, headers=headers, follow_redirects=True).data
|
||||||
|
|
||||||
logger.info("(page_url='%s')" % page_url)
|
logger.info("(page_url='%s')" % page_url)
|
||||||
resp = httptools.downloadpage(page_url)
|
resp = httptools.downloadpage(page_url)
|
||||||
global data
|
global data
|
||||||
@@ -28,11 +34,12 @@ def test_video_exists(page_url):
|
|||||||
possibleParam = scrapertools.find_multiple_matches(data, r"""<input.*?(?:name=["']([^'"]+).*?value=["']([^'"]*)['"]>|>)""")
|
possibleParam = scrapertools.find_multiple_matches(data, r"""<input.*?(?:name=["']([^'"]+).*?value=["']([^'"]*)['"]>|>)""")
|
||||||
if possibleParam:
|
if possibleParam:
|
||||||
post = urllib.urlencode({param[0]: param[1] for param in possibleParam if param[0]})
|
post = urllib.urlencode({param[0]: param[1] for param in possibleParam if param[0]})
|
||||||
data = httptools.downloadpage(page_url, headers=headers, post=post, follow_redirects=True).data
|
if post:
|
||||||
|
data = httptools.downloadpage(page_url, headers=headers, post=post, follow_redirects=True).data
|
||||||
|
else:
|
||||||
|
int_bckup_method()
|
||||||
else:
|
else:
|
||||||
page_url = scrapertools.find_single_match(data, r"""<center><a href='(https?:\/\/wstream[^']+)'\s*title='bkg'""")
|
int_bckup_method()
|
||||||
if page_url:
|
|
||||||
data = httptools.downloadpage(page_url, headers=headers, follow_redirects=True).data
|
|
||||||
|
|
||||||
if "Not Found" in data or "File was deleted" in data:
|
if "Not Found" in data or "File was deleted" in data:
|
||||||
return False, config.get_localized_string(70449) % 'Wstream'
|
return False, config.get_localized_string(70449) % 'Wstream'
|
||||||
|
|||||||
Reference in New Issue
Block a user