[^>]+>[^>]+>[^>]+>\D+Streaming\s(?P
[^"]+)">[^>]+>[^>]+>(?P[^<]+)<[^>]+>[^>]+>[^>]+>\s*
]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+>\s*]+>[^>]+>(?P[^<]+)<[^>]+>[^>]+>[^>]+>\D*(?P\d+)[^>]+>\D*(?P\d+)'
+ return locals()
+
+
+def findvideos(item):
+ support.log()
+ # match = support.match(item, patron='wstream', debug=True)
+ return support.server(item)
diff --git a/core/support.py b/core/support.py
index 6e683675..02e5b886 100755
--- a/core/support.py
+++ b/core/support.py
@@ -219,7 +219,7 @@ def scrapeBlock(item, args, block, patron, headers, action, pagination, debug, t
if scraped['season']:
stagione = scraped['season']
- episode = scraped['season'] +'x'+ scraped['episode']
+ episode = scraped['season'] +'x'+ scraped['episode'].zfill(2)
elif item.season:
episode = item.season +'x'+ scraped['episode']
elif item.contentType == 'tvshow' and (scraped['episode'] == '' and scraped['season'] == '' and stagione == ''):
@@ -295,7 +295,7 @@ def scrapeBlock(item, args, block, patron, headers, action, pagination, debug, t
quality=quality,
url=scraped["url"],
infoLabels=infolabels,
- thumbnail=item.thumbnail if function == 'episodios' else scraped["thumb"] ,
+ thumbnail=item.thumbnail if function == 'episodios' and not scraped["thumb"] else scraped["thumb"] ,
args=item.args,
contentSerieName= scraped['title'] if item.contentType or CT != 'movie' and function != 'episodios' else item.fulltitle if function == 'episodios' else '',
contentTitle= scraped['title'] if item.contentType or CT == 'movie' else '',
diff --git a/platformcode/platformtools.py b/platformcode/platformtools.py
index d1636478..937573f0 100644
--- a/platformcode/platformtools.py
+++ b/platformcode/platformtools.py
@@ -726,8 +726,8 @@ def play_video(item, strm=False, force_direct=False, autoplay=False):
mediaurl, view, mpd = get_video_seleccionado(item, seleccion, video_urls)
if mediaurl == "":
return
- # no certificate verification
- mediaurl = mediaurl.replace('https://', 'http://')
+ # # no certificate verification
+ # mediaurl = mediaurl.replace('https://', 'http://')
# se obtiene la información del video.
if not item.contentThumbnail:
diff --git a/servers/cloudvideo.py b/servers/cloudvideo.py
index ef66b57f..d664b88b 100644
--- a/servers/cloudvideo.py
+++ b/servers/cloudvideo.py
@@ -9,8 +9,10 @@ from platformcode import logger
def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url)
- data = httptools.downloadpage(page_url)
- if data.code == 404:
+ html = httptools.downloadpage(page_url)
+ global data
+ data = html.data
+ if html.code == 404:
return False, config.get_localized_string(70292) % "CloudVideo"
return True, ""
@@ -18,7 +20,8 @@ def test_video_exists(page_url):
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.info("url=" + page_url)
video_urls = []
- data = httptools.downloadpage(page_url).data
+ global data
+ # data = httptools.downloadpage(page_url).data
# enc_data = scrapertools.find_single_match(data, "text/javascript">(.+?)")
# dec_data = jsunpack.unpack(enc_data)
sources = scrapertools.find_single_match(data, "(eval.*)")
if code_data:
code = jsunpack.unpack(code_data)
+
+ # corrections
+ if 'file' in code and not '"file"'in code: code = code.replace('file','"file"')
+ if 'label' in code and not '"label"'in code: code = code.replace('label','"label"')
+
match = scrapertools.find_single_match(code, r'sources:(\[[^]]+\])')
lSrc = ast.literal_eval(match)
- lQuality = ['360p', '720p', '1080p', '4k'][:len(lSrc)-1]
- lQuality.reverse()
+ # lQuality = ['360p', '720p', '1080p', '4k'][:len(lSrc)-1]
+ # lQuality.reverse()
+
+ for source in lSrc:
+ quality = source['label'] if source.has_key('label') else 'auto'
+ video_urls.append(['.' + source['file'].split('.')[-1] + ' [' + quality + '] [SuperVideo]', source['file']])
- for n, source in enumerate(lSrc):
- quality = 'auto' if n==0 else lQuality[n-1]
- video_urls.append(['.' + source.split('.')[-1] + '(' + quality + ') [SuperVideo]', source])
else:
logger.info('ELSE!')
matches = scrapertools.find_multiple_matches(data, r'src:\s*"([^"]+)",\s*type:\s*"[^"]+"(?:\s*, res:\s(\d+))?')
for url, quality in matches:
if url.split('.')[-1] != 'm3u8':
- video_urls.append([url.split('.')[-1] + ' [' + quality + ']', url])
+ video_urls.append([url.split('.')[-1] + ' [' + quality + '] [SuperVideo]', url])
else:
video_urls.append([url.split('.')[-1], url])
- video_urls.sort(key=lambda x: x[0].split()[-1])
+
+ video_urls.sort(key=lambda x: x[0].split()[-2])
return video_urls
diff --git a/servers/vidoza.py b/servers/vidoza.py
index 9ec0ccad..f9806ec5 100644
--- a/servers/vidoza.py
+++ b/servers/vidoza.py
@@ -8,6 +8,7 @@ from platformcode import logger
def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url)
+ global data
data = httptools.downloadpage(page_url).data
if "Page not found" in data or "File was deleted" in data:
return False, "[vidoza] El archivo no existe o ha sido borrado"
@@ -19,7 +20,7 @@ def test_video_exists(page_url):
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.info("(page_url='%s')" % page_url)
- data = httptools.downloadpage(page_url).data
+ global data
video_urls = []
s = scrapertools.find_single_match(data, r'sourcesCode\s*:\s*(\[\{.*?\}\])')
@@ -30,8 +31,8 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
if 'src' in enlace or 'file' in enlace:
url = enlace['src'] if 'src' in enlace else enlace['file']
tit = ''
- if 'label' in enlace: tit += '[%s]' % enlace['label']
- if 'res' in enlace: tit += '[%s]' % enlace['res']
+ if 'label' in enlace: tit += ' [%s]' % enlace['label']
+ if 'res' in enlace: tit += ' [%s]' % enlace['res']
if tit == '' and 'type' in enlace: tit = enlace['type']
if tit == '': tit = '.mp4'
diff --git a/servers/vup.json b/servers/vup.json
deleted file mode 100644
index 4c468694..00000000
--- a/servers/vup.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "active": true,
- "find_videos": {
- "ignore_urls": [],
- "patterns": [
- {
- "pattern": "(https://vup.to/embed-[A-z0-9]+.html)",
- "url": "\\1"
- }
- ]
- },
- "free": true,
- "id": "vup",
- "name": "VUP",
- "settings": [
- {
- "default": false,
- "enabled": true,
- "id": "black_list",
- "label": "@60654",
- "type": "bool",
- "visible": true
- },
- {
- "default": 0,
- "enabled": true,
- "id": "favorites_servers_list",
- "label": "@60655",
- "lvalues": [
- "No",
- "1",
- "2",
- "3",
- "4",
- "5"
- ],
- "type": "list",
- "visible": false
- }
- ],
- "thumbnail": "server_vupplayer.png"
-}
diff --git a/servers/vup.py b/servers/vup.py
deleted file mode 100644
index 9eba027d..00000000
--- a/servers/vup.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# -*- coding: utf-8 -*-
-# --------------------------------------------------------
-# Conector vup By Alfa development Group
-# --------------------------------------------------------
-
-from core import httptools
-from core import scrapertools
-from platformcode import logger
-
-
-def test_video_exists(page_url):
- logger.info("(page_url='%s')" % page_url)
- data = httptools.downloadpage(page_url).data
- if "no longer exists" in data or "to copyright issues" in data:
- return False, "[vup] El video ha sido borrado"
- return True, ""
-
-
-def get_video_url(page_url, user="", password="", video_password=""):
- logger.info("(page_url='%s')" % page_url)
- data = httptools.downloadpage(page_url).data
- bloque = scrapertools.find_single_match(data, 'sources:.*?\]')
- video_urls = []
- videourl = scrapertools.find_multiple_matches(bloque, '"(http[^"]+)')
- for video in videourl:
- video_urls.append([".MP4 [vup]", video])
- video_urls = video_urls[::-1]
- return video_urls
diff --git a/servers/vupplayer.py b/servers/vupplayer.py
index 113a30e9..e348a184 100644
--- a/servers/vupplayer.py
+++ b/servers/vupplayer.py
@@ -7,6 +7,8 @@ from platformcode import logger, config
def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url)
data = httptools.downloadpage(page_url)
+ global data
+ data = data.data
if data.code == 404:
return False, config.get_localized_string(70449)
return True, ""
@@ -15,8 +17,7 @@ def test_video_exists(page_url):
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.info("url=" + page_url)
video_urls = []
- data = httptools.downloadpage(page_url).data
- logger.info('VUP DATA= '+ data)
+ global data
patron = r'sources:\s*\[\{src:\s*"([^"]+)"'
matches = scrapertools.find_multiple_matches(data, patron)
for url in matches:
diff --git a/servers/wstream.json b/servers/wstream.json
index 99428674..72b1acbb 100644
--- a/servers/wstream.json
+++ b/servers/wstream.json
@@ -7,7 +7,7 @@
"find_videos": {
"patterns": [
{
- "pattern": "wstream\\.video.*?(?