Fix altadefinizione (tranne sez. agg.), aggiunto wolfstream

This commit is contained in:
marco
2023-10-22 15:01:58 +02:00
parent 956526affc
commit 7ae3f7e30e
3 changed files with 66 additions and 7 deletions

View File

@@ -21,7 +21,7 @@ headers = [['Referer', host]]
def mainlist(item):
film = ['/category/film/',
('Al Cinema', ['/al-cinema/', 'peliculas']),
('Al Cinema', ['/prime-visioni/', 'peliculas']),
('Generi', ['', 'genres']),
# ('Sub-ITA', ['/sub-ita/', 'peliculas'])
]
@@ -38,7 +38,9 @@ def mainlist(item):
def genres(item):
action = 'peliculas'
blacklist = ['Scegli il Genere', 'Film', 'Serie TV', 'Sub-Ita', 'Anime']
patronMenu = r'<option value="(?P<url>[^"]+)">(?P<title>[^<]+)'
patronMenu = r'<a href="(?P<url>[^"]+)" class="category-button">(?P<title>[^<]+)'
'<a href="https://altadefinizione.archi/category/film/animazione/" class="category-button">Animazione</a>'
def itemlistHook(itemlist):
itl = []
for item in itemlist:
@@ -72,7 +74,7 @@ def peliculas(item):
# if item.args == 'search':
# patron = r'<item>\s*<title>(?P<title>[^\[\(\<]+)(?:\[(?P<quality>[^\]]+)\])?\s*(?:\((?P<lang>[a-zA-z-]+)\))?\s*(?:\((?P<year>\d+)\))?\s*[^>]+>\s*<link>(?P<url>[^<]+)'
patronNext = r'href="([^"]+)[^>]+>Successivo'
# debug = True
debug = True
return locals()
@@ -81,9 +83,9 @@ def episodios(item):
item.quality = ''
data = item.data
action='findvideos'
# debug=True
patronBlock = r'<span>\s*\w+\s*[Ss]tagione.*?(?P<lang>(?:[Ss][Uu][Bb][-]?)?[Ii][Tt][Aa])(?: in )?(?P<quality>[^<]*)?(?:[^>]+>){4}(?P<block>.*?)/p>'
patron = r'(?P<season>\d+)x(?P<episode>\d+)[^>]+>(?P<data>.*?)(?:</table)'
# debugBlock=True
patronBlock = r'<h2>[Ss]tagione: (?P<season>\d+)(?P<block>.*?)</ul>'
patron = r'<a href="(?P<url>[^"]+).*?[Ee]pisodio N°: (?P<episode>\d+)'
return locals()
@@ -98,6 +100,7 @@ def check(item):
def findvideos(item):
logger.debug()
# support.dbg()
if item.contentType == 'movie' and isinstance(item.data, str):
item.data = support.match(item.data, patron=r'data-id="([^"]+)').matches
item.data = support.match(support.match(item.data, patron=r'iframe src="([^"]+)').match).data
return support.server(item, item.data)

25
servers/wolfstream.json Normal file
View File

@@ -0,0 +1,25 @@
{
"active": true,
"find_videos": {
"ignore_urls": [],
"patterns": [
{
"pattern": "https?://wolfstream\\.tv/(?:embed-|e/)?([a-z0-9]+)",
"url": "https://wolfstream.tv/embed-\\1.html"
}
]
},
"free": true,
"id": "wolfstream",
"name": "WolfStream",
"settings": [
{
"default": false,
"enabled": true,
"id": "black_list",
"label": "@70708",
"type": "bool",
"visible": true
}
]
}

31
servers/wolfstream.py Normal file
View File

@@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
from core import httptools, scrapertools, support
from platformcode import logger, config
def test_video_exists(page_url):
logger.debug("(page_url='%s')" % page_url)
page = httptools.downloadpage(page_url)
global matches
data = page.data
matches = support.get_jwplayer_mediaurl(data, 'WolfStream')
if not matches:
data = scrapertools.find_single_match(data,
r"<script type='text/javascript'>(eval.function.p,a,c,k,e,.*?)\s*</script>")
if data:
from lib import jsunpack
data = jsunpack.unpack(data)
matches = support.get_jwplayer_mediaurl(data, 'WolfStream')
if not matches: # if not exists, the site just return a page with <video> but not url
return False, config.get_localized_string(70449) % "WolfStream"
return True, ""
def get_video_url(page_url, premium=False, user="", password="", video_password=""):
logger.debug("url=" + page_url)
global matches
return matches