Completato altadefinizionecommunity

This commit is contained in:
mac12m99
2021-07-24 14:52:43 +02:00
parent 57076cc62f
commit db444c2eb2
3 changed files with 32 additions and 18 deletions
+1 -1
View File
@@ -2,7 +2,6 @@
"direct": { "direct": {
"altadefinizione01": "https://www.altadefinizione01.plus", "altadefinizione01": "https://www.altadefinizione01.plus",
"altadefinizione01_link": "https://altadefinizione01.travel", "altadefinizione01_link": "https://altadefinizione01.travel",
"altadefinizionecommunity": "https://altadefinizionecommunity.org",
"animealtadefinizione": "https://www.animealtadefinizione.it", "animealtadefinizione": "https://www.animealtadefinizione.it",
"animeforce": "https://www.animeforce.it", "animeforce": "https://www.animeforce.it",
"animeleggendari": "https://animezeus.com", "animeleggendari": "https://animezeus.com",
@@ -47,6 +46,7 @@
"vvvvid": "https://www.vvvvid.it" "vvvvid": "https://www.vvvvid.it"
}, },
"findhost": { "findhost": {
"altadefinizionecommunity": "https://altaregistrazione.com",
"altadefinizioneclick": "https://altadefinizione-nuovo.click", "altadefinizioneclick": "https://altadefinizione-nuovo.click",
"animealtadefinizione": "https://www.animealtadefinizione.it", "animealtadefinizione": "https://www.animealtadefinizione.it",
"filmpertutti": "https://filmpertuttiii.nuovo.live" "filmpertutti": "https://filmpertuttiii.nuovo.live"
+30 -15
View File
@@ -6,24 +6,26 @@ from lib.fakeMail import Gmailnator
from platformcode import config, platformtools, logger from platformcode import config, platformtools, logger
from core import scrapertools, httptools from core import scrapertools, httptools
host = config.get_channel_url()
def findhost(url):
return support.match(url, patron=r'<a href="([^"]+)/\w+">Accedi').match
host = config.get_channel_url(findhost)
register_url = 'https://altaregistrazione.com' register_url = 'https://altaregistrazione.com'
headers = [['Referer', host]] headers = [['Referer', host], ['x-requested-with', 'XMLHttpRequest']]
@support.menu @support.menu
def mainlist(item): def mainlist(item):
support.info(item) support.info(item)
# Ordine delle voci film = ['/load-more-film?anno=&order=&support_webp=1&type=movie&page=1',
# Voce FILM, puoi solo impostare l'url
film = ['/type/movie', # url per la voce FILM, se possibile la pagina principale con le ultime novità
#Voce Menu,['url','action','args',contentType] #Voce Menu,['url','action','args',contentType]
('Generi', ['', 'genres', 'genres']), ('Generi', ['', 'genres', 'genres']),
] ]
# Voce SERIE, puoi solo impostare l'url tvshow = ['/load-more-film?type=tvshow&anno=&order=&support_webp=1&page=1',
tvshow = ['', # url per la voce Serie, se possibile la pagina con titoli di serie
#Voce Menu,['url','action','args',contentType] #Voce Menu,['url','action','args',contentType]
('Generi', ['', 'genres', 'genres']), ('Generi', ['', 'genres', 'genres']),
] ]
@@ -66,7 +68,7 @@ def registerOrLogin():
from core.item import Item from core.item import Item
user_pre = config.get_setting('username', channel='altadefinizionecommunity') user_pre = config.get_setting('username', channel='altadefinizionecommunity')
password_pre = config.get_setting('password', channel='altadefinizionecommunity') password_pre = config.get_setting('password', channel='altadefinizionecommunity')
setting.server_config(Item(config='altadefinizionecommunity')) setting.channel_config(Item(config='altadefinizionecommunity'))
user_post = config.get_setting('username', channel='altadefinizionecommunity') user_post = config.get_setting('username', channel='altadefinizionecommunity')
password_post = config.get_setting('password', channel='altadefinizionecommunity') password_post = config.get_setting('password', channel='altadefinizionecommunity')
@@ -121,12 +123,24 @@ def registerOrLogin():
@support.scrape @support.scrape
def peliculas(item): def peliculas(item):
support.info(item)
patron = r'wrapFilm">\s*<a href="(?P<url>[^"]+)">\s*<span class="year">(?P<year>[0-9]{4})</span>\s*<span[^>]+>[^<]+</span>\s*<span class="qual">(?P<quality>[^<]+).*?<img src="(?P<thumbnail>[^"]+)[^>]+>\s*<h3>(?P<title>[^<]+)'
patronNext = ''
# debug = True # debug = True
support.info(item)
if '/load-more-film' not in item.url and '/search' not in item.url: # generi o altri menu, converto
import ast
ajax = support.match(item.url, patron="ajax_data\s*=\s*([^;]+)").match
item.url = host + '/load-more-film?' + support.urlencode(ast.literal_eval(ajax)) + '&page=1'
json = support.httptools.downloadpage(item.url, headers=headers).json
data = "\n".join(json['data'])
patron = r'wrapFilm">\s*<a href="(?P<url>[^"]+)">\s*<span class="year">(?P<year>[0-9]{4})</span>\s*<span[^>]+>[^<]+</span>\s*<span class="qual">(?P<quality>[^<]+).*?<img src="(?P<thumbnail>[^"]+)[^>]+>\s*<h3>(?P<title>[^<[]+)(?:\[(?P<lang>[sSuUbBiItTaA-]+))?'
# paginazione
if json.get('have_next'):
def fullItemlistHook(itemlist):
spl = item.url.split('=')
url = '='.join(spl[:-1])
page = str(int(spl[-1])+1)
support.nextPage(itemlist, item, next_page='='.join((url, page)), function_or_level='peliculas')
return itemlist
return locals() return locals()
@@ -134,7 +148,7 @@ def search(item, texto):
support.info("search ", texto) support.info("search ", texto)
item.args = 'search' item.args = 'search'
item.url = host + "/search?s=" + texto item.url = host + "/search?s={0}&page=1".format(texto)
try: try:
return peliculas(item) return peliculas(item)
# Continua la ricerca in caso di errore # Continua la ricerca in caso di errore
@@ -171,6 +185,7 @@ def episodios(item):
spl = it.url.split('/')[-2:] spl = it.url.split('/')[-2:]
it.contentSeason = int(spl[0])+1 it.contentSeason = int(spl[0])+1
it.contentEpisodeNumber = int(spl[1])+1 it.contentEpisodeNumber = int(spl[1])+1
it.title = str(it.contentSeason) + 'x' + str(it.contentEpisodeNumber)
return it return it
return locals() return locals()
@@ -178,7 +193,7 @@ def episodios(item):
def findvideos(item): def findvideos(item):
itemlist = [] itemlist = []
video_url = item.url video_url = item.url
if not '/watch-unsubscribed' in video_url: if '/watch-unsubscribed' not in video_url:
playWindow = support.match(item.url, patron='playWindow" href="([^"]+)') playWindow = support.match(item.url, patron='playWindow" href="([^"]+)')
video_url = playWindow.match video_url = playWindow.match
if '/tvshow' in video_url: if '/tvshow' in video_url:
+1 -2
View File
@@ -1384,7 +1384,6 @@ def addQualityTag(item, itemlist, data, patron):
def get_jwplayer_mediaurl(data, srvName, onlyHttp=False, dataIsBlock=False): def get_jwplayer_mediaurl(data, srvName, onlyHttp=False, dataIsBlock=False):
from core import jsontools from core import jsontools
video_urls = [] video_urls = []
block = scrapertools.find_single_match(data, r'sources"?\s*:\s*(.*?}])') if not dataIsBlock else data block = scrapertools.find_single_match(data, r'sources"?\s*:\s*(.*?}])') if not dataIsBlock else data
if block: if block:
@@ -1407,7 +1406,7 @@ def get_jwplayer_mediaurl(data, srvName, onlyHttp=False, dataIsBlock=False):
for url, quality in sources: for url, quality in sources:
quality = 'auto' if not quality else quality quality = 'auto' if not quality else quality
if url.split('.')[-1] != 'mpd': if url.split('.')[-1] != 'mpd':
video_urls.append(['.' + url.split('.')[-1] + ' [' + quality + '] [' + srvName + ']', url if not onlyHttp else url.replace('https://', 'http://')]) video_urls.append(['.' + url.split('.')[-1].split('?')[0] + ' [' + quality + '] [' + srvName + ']', url.replace(' ', '%20') 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 return video_urls