From b0079b4d77ecc3b3eda5361137773d9ec2e056af Mon Sep 17 00:00:00 2001 From: mac12m99 <10120390+mac12m99@users.noreply.github.com> Date: Thu, 25 Mar 2021 21:09:10 +0100 Subject: [PATCH] fix server VUP e vidtome --- core/support.py | 23 ++++++++++++----------- servers/vidtome.py | 9 +++++---- servers/vupplayer.json | 2 +- servers/vupplayer.py | 38 ++++++++++++++++++++------------------ 4 files changed, 38 insertions(+), 34 deletions(-) diff --git a/core/support.py b/core/support.py index 7432dd91..c88e325e 100755 --- a/core/support.py +++ b/core/support.py @@ -1348,18 +1348,19 @@ def addQualityTag(item, itemlist, data, patron): def get_jwplayer_mediaurl(data, srvName, onlyHttp=False, dataIsBlock=False): video_urls = [] block = scrapertools.find_single_match(data, r'sources:\s*\[([^\]]+)\]') if not dataIsBlock else data - if 'file:' in block: - sources = scrapertools.find_multiple_matches(block, r'file:\s*"([^"]+)"(?:,label:\s*"([^"]+)")?') - elif 'src:' in block: - sources = scrapertools.find_multiple_matches(data, r'src:\s*"([^"]+)",\s*type:\s*"[^"]+",[^,]+,\s*label:\s*"([^"]+)"') - else: - sources =[(block.replace('"',''), '')] - for url, quality in sources: - quality = 'auto' if not quality else quality - if url.split('.')[-1] != 'mpd': - video_urls.append(['.' + url.split('.')[-1] + ' [' + quality + '] [' + srvName + ']', url if not onlyHttp else url.replace('https://', 'http://')]) + if block: + if 'file:' in block: + sources = scrapertools.find_multiple_matches(block, r'file:\s*"([^"]+)"(?:,label:\s*"([^"]+)")?') + elif 'src:' in block: + sources = scrapertools.find_multiple_matches(block, r'src:\s*"([^"]+)",\s*type:\s*"[^"]+"(?:,[^,]+,\s*label:\s*"([^"]+)")?') + else: + sources =[(block.replace('"',''), '')] + for url, quality in sources: + quality = 'auto' if not quality else quality + if url.split('.')[-1] != 'mpd': + video_urls.append(['.' + url.split('.')[-1] + ' [' + quality + '] [' + srvName + ']', url if not onlyHttp else url.replace('https://', 'http://')]) - video_urls.sort(key=lambda x: x[0].split()[1]) + video_urls.sort(key=lambda x: x[0].split()[1]) return video_urls diff --git a/servers/vidtome.py b/servers/vidtome.py index ce52f9b4..c4b89b2c 100644 --- a/servers/vidtome.py +++ b/servers/vidtome.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from core import httptools, scrapertools, servertools +from core import httptools, scrapertools, servertools, support from platformcode import logger, config from lib import jsunpack @@ -25,7 +25,8 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= packed = scrapertools.find_multiple_matches(data, r'(eval\s?\(function\(p,a,c,k,e,d\).*?\n)') for p in packed: data = jsunpack.unpack(p) - media_url = scrapertools.find_single_match(data, r"source:\\'([^\\']+)") - if media_url: - video_urls.append([media_url.split('.')[-1] + ' [Vidto.me]', media_url]) + video_urls.extend(support.get_jwplayer_mediaurl(data, 'vidtome')) + # media_url = scrapertools.find_single_match(data, r"source:\\'([^\\']+)") + # if media_url: + # video_urls.append([media_url.split('.')[-1] + ' [Vidto.me]', media_url]) return video_urls diff --git a/servers/vupplayer.json b/servers/vupplayer.json index f4c13606..98125899 100644 --- a/servers/vupplayer.json +++ b/servers/vupplayer.json @@ -5,7 +5,7 @@ "patterns": [ { "pattern": "(?:vupload.com|vup.to)/((?:embed-)?[a-z0-9]+)", - "url": "https://vup.to/\\1.html" + "url": "https://vupload.com/\\1.html" } ] }, diff --git a/servers/vupplayer.py b/servers/vupplayer.py index 53832f78..d60fb78a 100644 --- a/servers/vupplayer.py +++ b/servers/vupplayer.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from core import httptools, scrapertools +from core import httptools, scrapertools, support from platformcode import logger, config @@ -18,20 +18,22 @@ def get_video_url(page_url, premium=False, user="", password="", video_password= logger.debug("url=" + page_url) video_urls = [] global data - patron = r'sources:\s*\[\{src:\s*"([^"]+)"' - matches = scrapertools.find_multiple_matches(data, patron) - if not matches: - data = scrapertools.find_single_match(data, r"") - if data: - from lib import jsunpack - data = jsunpack.unpack(data) - matches = scrapertools.find_multiple_matches(data, patron) - for url in matches: - quality = 'm3u8' - video_url = url - if 'label' in url: - url = url.split(',') - video_url = url[0] - quality = url[1].replace('label:','') - video_urls.append(['VUP Player [%s]' % quality, video_url.replace(',','')]) - return video_urls + + return support.get_jwplayer_mediaurl(data, 'VUP') + # patron = r'sources:\s*\[\{src:\s*"([^"]+)"' + # matches = scrapertools.find_multiple_matches(data, patron) + # if not matches: + # data = scrapertools.find_single_match(data, r"") + # if data: + # from lib import jsunpack + # data = jsunpack.unpack(data) + # matches = scrapertools.find_multiple_matches(data, patron) + # for url in matches: + # quality = 'm3u8' + # video_url = url + # if 'label' in url: + # url = url.split(',') + # video_url = url[0] + # quality = url[1].replace('label:','') + # video_urls.append(['VUP Player [%s]' % quality, video_url.replace(',','')]) + # return video_urls