aggiunto server vidmoly, miglioria altadefinizioneclick

This commit is contained in:
marco
2020-05-17 20:13:03 +02:00
parent 929e2ec42d
commit 9307f72b99
7 changed files with 114 additions and 41 deletions
+2 -2
View File
@@ -138,5 +138,5 @@ def findvideos(item):
support.log('findvideos', item) support.log('findvideos', item)
return support.hdpass_get_servers(item) return support.hdpass_get_servers(item)
def play(item): # def play(item):
return support.hdpass_get_url(item) # return support.hdpass_get_url(item)
+37 -18
View File
@@ -34,30 +34,35 @@ from specials import autoplay
def hdpass_get_servers(item): def hdpass_get_servers(item):
def get_hosts(url, quality): def get_hosts(url, quality):
ret = [] ret = []
page = httptools.downloadpage(url).data page = httptools.downloadpage(url, CF=False).data
mir = scrapertools.find_single_match(page, patron_mir) mir = scrapertools.find_single_match(page, patron_mir)
for mir_url, srv in scrapertools.find_multiple_matches(mir, patron_option): with futures.ThreadPoolExecutor() as executor:
mir_url = scrapertools.decodeHtmlentities(mir_url) thL = []
log(mir_url) for mir_url, srv in scrapertools.find_multiple_matches(mir, patron_option):
ret.append(Item(channel=item.channel, mir_url = scrapertools.decodeHtmlentities(mir_url)
action="play", log(mir_url)
fulltitle=item.fulltitle, it = Item(channel=item.channel,
quality=quality, action="play",
show=item.show, fulltitle=item.fulltitle,
thumbnail=item.thumbnail, quality=quality,
contentType=item.contentType, show=item.show,
title=srv, thumbnail=item.thumbnail,
server=srv, contentType=item.contentType,
url= mir_url)) title=srv,
# server=srv,
url= mir_url)
thL.append(executor.submit(hdpass_get_url, it))
for res in futures.as_completed(thL):
if res.result():
ret.append(res.result()[0])
return ret return ret
# Carica la pagina # Carica la pagina
itemlist = [] itemlist = []
if 'hdpass' in item.url or 'hdplayer' in item.url: if 'hdpass' in item.url or 'hdplayer' in item.url:
url = item.url url = item.url
else: else:
data = httptools.downloadpage(item.url).data.replace('\n', '') data = httptools.downloadpage(item.url, CF=False).data.replace('\n', '')
patron = r'<iframe(?: id="[^"]+")? width="[^"]+" height="[^"]+" src="([^"]+)"[^>]+><\/iframe>' patron = r'<iframe(?: id="[^"]+")? width="[^"]+" height="[^"]+" src="([^"]+)"[^>]+><\/iframe>'
url = scrapertools.find_single_match(data, patron) url = scrapertools.find_single_match(data, patron)
url = url.replace("&download=1", "") url = url.replace("&download=1", "")
@@ -66,7 +71,7 @@ def hdpass_get_servers(item):
if not url.startswith('http'): if not url.startswith('http'):
url = 'https:' + url url = 'https:' + url
data = httptools.downloadpage(url).data data = httptools.downloadpage(url, CF=False).data
patron_res = '<div class="buttons-bar resolutions-bar">(.*?)<div class="buttons-bar' patron_res = '<div class="buttons-bar resolutions-bar">(.*?)<div class="buttons-bar'
patron_mir = '<div class="buttons-bar hosts-bar">(.*?)<div id="fake' patron_mir = '<div class="buttons-bar hosts-bar">(.*?)<div id="fake'
patron_option = r'<a href="([^"]+?)".*?>([^<]+?)</a>' patron_option = r'<a href="([^"]+?)".*?>([^<]+?)</a>'
@@ -85,7 +90,7 @@ def hdpass_get_servers(item):
def hdpass_get_url(item): def hdpass_get_url(item):
patron_media = r'<iframe allowfullscreen custom-src="([^"]+)' patron_media = r'<iframe allowfullscreen custom-src="([^"]+)'
data = httptools.downloadpage(item.url).data data = httptools.downloadpage(item.url, CF=False).data
item.url = base64.b64decode(scrapertools.find_single_match(data, patron_media)) item.url = base64.b64decode(scrapertools.find_single_match(data, patron_media))
return [item] return [item]
@@ -1292,3 +1297,17 @@ def addQualityTag(item, itemlist, data, patron):
folder=False)) folder=False))
else: else:
log('nessun tag qualità trovato') log('nessun tag qualità trovato')
def get_jwplayer_mediaurl(data, srvName):
video_urls = []
block = scrapertools.find_single_match(data, r'sources: \[([^\]]+)\]')
sources = scrapertools.find_multiple_matches(block, r'file:\s*"([^"]+)"(?:,label:\s*"([^"]+)")?')
if not sources:
sources = scrapertools.find_multiple_matches(data,
r'src:\s*"([^"]+)",\s*type:\s*"[^"]+",[^,]+,\s*label:\s*"([^"]+)"')
for url, quality in sources:
quality = 'auto' if not quality else quality
video_urls.append(['.' + url.split('.')[-1] + ' [' + quality + '] [' + srvName + ']', url])
video_urls.sort(key=lambda x: x[0].split()[1])
return video_urls
+2 -10
View File
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from core import httptools from core import httptools, support
from core import scrapertools from core import scrapertools
from platformcode import config, logger from platformcode import config, logger
@@ -17,15 +17,7 @@ def test_video_exists(page_url):
def get_video_url(page_url, premium=False, user="", password="", video_password=""): def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.info("url=" + page_url) logger.info("url=" + page_url)
video_urls = []
data = httptools.downloadpage(page_url).data data = httptools.downloadpage(page_url).data
# logger.info(data) # logger.info(data)
block = scrapertools.find_single_match(data, r'sources: \[([^\]]+)\]') video_urls = support.get_jwplayer_mediaurl(data, 'Onlystream')
sources = scrapertools.find_multiple_matches(block, r'file:\s*"([^"]+)"(?:,label:\s*"([^"]+)")?')
if not sources:
sources = scrapertools.find_multiple_matches(data, r'src:\s*"([^"]+)",\s*type:\s*"[^"]+",[^,]+,\s*label:\s*"([^"]+)"')
for url, quality in sources:
quality = 'auto' if not quality else quality
video_urls.append(['.' + url.split('.')[-1] + ' [' + quality + '] [Onlystream]', url])
video_urls.sort(key=lambda x: x[0].split()[1])
return video_urls return video_urls
+4 -5
View File
@@ -1,7 +1,4 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# --------------------------------------------------------
# Conector Mixdrop By Alfa development Group
# --------------------------------------------------------
from core import httptools from core import httptools
from core import scrapertools from core import scrapertools
@@ -22,7 +19,9 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
video_urls = [] video_urls = []
global data global data
media_url = 'https://' + scrapertools.find_single_match(data, 'id="videolink"[^>]+>\n?\s*//(.*?)<') + '&stream=1' url = scrapertools.find_single_match(data, 'id="videolink"[^>]+>\n?\s*//(.*?)<')
video_urls.append([".mp4 [Streamtape]", media_url]) if url:
media_url = 'https://' + url + '&stream=1'
video_urls.append([".mp4 [Streamtape]", media_url])
return video_urls return video_urls
+2 -6
View File
@@ -3,7 +3,7 @@
import time import time
import urllib import urllib
from core import httptools from core import httptools, support
from core import scrapertools from core import scrapertools
from platformcode import logger, config from platformcode import logger, config
@@ -29,9 +29,5 @@ def get_video_url(page_url, premium=False, user="", password="", video_password=
time.sleep(6) time.sleep(6)
data = httptools.downloadpage(page_url_post, post=post).data data = httptools.downloadpage(page_url_post, post=post).data
logger.info("(data page_url='%s')" % data) logger.info("(data page_url='%s')" % data)
sources = scrapertools.find_single_match(data, r'sources: \[([^\]]+)\]') video_urls = support.get_jwplayer_mediaurl(data, 'Turbovid')
for media_url in scrapertools.find_multiple_matches(sources, '"([^"]+)"'):
ext = scrapertools.get_filename_from_url(media_url)[-4:]
video_urls.append(["%s [%s]" % (ext, server), media_url])
return video_urls return video_urls
+46
View File
@@ -0,0 +1,46 @@
{
"active": true,
"find_videos": {
"ignore_urls": [],
"patterns": [
{
"pattern": "https?://vidmoly.net/(?:embed-)?(\\w+)\\.html",
"url": "https://vidmoly.net/embed-\\1.html"
},
{
"pattern": "https?://fasturl.ga/(?:embed-)?(\\w+)\\.html",
"url": "https://vidmoly.net/embed-\\1.html"
}
]
},
"free": true,
"id": "vidmoly",
"name": "Vidmoly",
"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": ""
}
+21
View File
@@ -0,0 +1,21 @@
# -*- coding: utf-8 -*-
from core import httptools, support
from platformcode import logger, config
def test_video_exists(page_url):
logger.info("(page_url='%s')" % page_url)
global data
data = httptools.downloadpage(page_url).data
if "Not Found" in data:
return False, config.get_localized_string(70449) % "Vidmoly"
return True, ""
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.info("url=" + page_url)
global data
video_urls = support.get_jwplayer_mediaurl(data, 'Vidmoly')
return video_urls