Merge remote-tracking branch 'origin/master'

This commit is contained in:
marco
2020-02-16 19:49:49 +01:00
2 changed files with 22 additions and 33 deletions
+10 -28
View File
@@ -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,
@@ -267,33 +267,15 @@ def findvid_serie(item):
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
View File
@@ -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'