This commit is contained in:
Alhaziel
2019-04-03 18:24:08 +02:00
committed by mac12m99
parent 4a1fae7383
commit ff5dffaf8d

View File

@@ -1,17 +1,14 @@
# -*- coding: utf-8 -*-
# ------------------------------------------------------------
# Ringraziamo Icarus crew
# Canale per altadefinizioneclick
# ----------------------------------------------------------
import base64
import re
import urlparse
from channels import autoplay, filtertools, support
from core import scrapertools, servertools, httptools, tmdb
from core import servertools
from core.item import Item
from platformcode import logger, config
from channelselector import thumb, get_thumb
host = "https://altadefinizione.center" ### <- cambio Host da .fm a .center
@@ -26,51 +23,28 @@ __comprueba_enlaces_num__ = config.get_setting('comprueba_enlaces_num', 'altadef
headers = [['Referer', host]]
def mainlist(item):
logger.info("kod.altadefinizione.pink mainlist")
support.log()
itemlist = []
support.menu(itemlist, 'Film', 'peliculas', host + "/nuove-uscite/")
support.menu(itemlist, 'Per Genere submenu', 'menu', host, args='Film')
support.menu(itemlist, 'Per Anno submenu', 'menu', host, args='Anno')
support.menu(itemlist, 'Sub-IIA', 'peliculas', host + "/sub-ita/")
support.menu(itemlist, 'Cerca...', 'search', host, 'movie', 'search')
autoplay.init(item.channel, list_servers, list_quality)
itemlist = [
Item(channel=item.channel,
title="[B]Novità[/B]",
action="fichas",
url=host + "/nuove-uscite/",
thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"),
Item(channel=item.channel,
title="[B] > Film per Genere[/B]",
action="genere",
url=host,
thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"),
Item(channel=item.channel,
title="[B] > Film per Anno[/B]",
action="anno",
url=host,
thumbnail="http://orig03.deviantart.net/6889/f/2014/079/7/b/movies_and_popcorn_folder_icon_by_matheusgrilo-d7ay4tw.png"),
Item(channel=item.channel,
title="Film Sub-Ita",
action="fichas",
url=host + "/sub-ita/",
thumbnail="http://i.imgur.com/qUENzxl.png"),
Item(channel=item.channel,
title="[COLOR blue]Cerca Film...[/COLOR]",
action="search",
extra="movie",
thumbnail="http://dc467.4shared.com/img/fEbJqOum/s7/13feaf0c8c0/Search")]
autoplay.show_option(item.channel, itemlist)
# auto thumb
itemlist=thumb(itemlist)
return itemlist
def search(item, texto):
logger.info("[altadefinizioneclick.py] " + item.url + " search " + texto)
support.log("search ", texto)
item.url = host + "/?s=" + texto
try:
return fichas_src(item)
return peliculas(item)
# Continua la ricerca in caso di errore
except:
@@ -80,169 +54,33 @@ def search(item, texto):
return []
def genere(item):
logger.info("[altadefinizioneclick.py] genere")
itemlist = []
data = httptools.downloadpage(item.url, headers=headers).data
patron = '<ul class="listSubCat" id="Film">(.*?)</ul>'
data = scrapertools.find_single_match(data, patron)
patron = '<li><a href="(.*?)">(.*?)</a></li>'
matches = re.compile(patron, re.DOTALL).findall(data)
scrapertools.printMatches(matches)
for scrapedurl, scrapedtitle in matches:
itemlist.append(
Item(channel=item.channel,
action="fichas",
title=scrapedtitle,
url=scrapedurl,
folder=True))
def menu(item):
support.log()
itemlist = support.scrape(item, '<li><a href="(.*?)">(.*?)</a></li>', ['url', 'title'], headers, patron_block='<ul class="listSubCat" id="'+ str(item.args) + '">(.*?)</ul>', action='peliculas')
return support.thumb(itemlist)
def peliculas(item):
support.log()
if item.args == 'search':
itemlist = support.scrape(item, r'<a href="([^"]+)">\s*<div[^=]+=[^=]+=[^=]+=[^=]+=[^=]+="(.*?)"[^>]+>[^<]+<[^>]+>\s*<h[^=]+="titleFilm">(.*?)<', ['url', 'thumb', 'title'], headers, patronNext='<a class="next page-numbers" href="([^"]+)">')
else:
itemlist = support.scrape(item, r'<img width[^s]+src="([^"]+)[^>]+>[^>]+>[^>]+>[^>]+><a href="([^"]+)">([^<]+)<\/a>[^>]+>[^>]+>[^>]+>(?:[^>]+>|)[^I]+IMDB\:\s*([^<]+)<', ['thumb', 'url', 'title', 'rating'], headers, patronNext='<a class="next page-numbers" href="([^"]+)">')
for item in itemlist:
item.title = re.sub(r'.\(.*?\)', '', item.title)
return itemlist
def anno(item):
logger.info("[altadefinizioneclick.py] genere")
itemlist = []
data = httptools.downloadpage(item.url, headers=headers).data
patron = '<ul class="listSubCat" id="Anno">(.*?)</div>'
data = scrapertools.find_single_match(data, patron)
patron = '<li><a href="([^"]+)">([^<]+)</a></li>'
matches = re.compile(patron, re.DOTALL).findall(data)
scrapertools.printMatches(matches)
for scrapedurl, scrapedtitle in matches:
itemlist.append(
Item(channel=item.channel,
action="fichas",
title=scrapedtitle,
url=scrapedurl,
folder=True))
return itemlist
def fichas(item):
logger.info("[altadefinizioneclick.py] fichas")
itemlist = []
# Carica la pagina
data = httptools.downloadpage(item.url, headers=headers).data
patron = '<img width[^s]+src="([^"]+)[^>]+>[^>]+>[^>]+>[^>]+><a href="([^"]+)">([^<]+)<\/a>[^>]+>[^>]+>[^>]+>(?:[^>]+>|)[^I]+IMDB\:\s*([^<]+)<'
matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedthumbnail, scrapedurl, scrapedtitle, scrapedpuntuacion in matches:
title = scrapertools.decodeHtmlentities(scrapedtitle)
clean_title = title
title += " (" + scrapedpuntuacion + ")"
# ------------------------------------------------
scrapedthumbnail = httptools.get_url_headers(scrapedthumbnail)
# ------------------------------------------------
itemlist.append(
Item(channel=item.channel,
action="findvideos",
contentType="movie",
contentTitle=clean_title,
title="[COLOR azure]" + title + "[/COLOR]",
url=scrapedurl,
thumbnail=scrapedthumbnail,
fulltitle=title,
show=title))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
# Pagination
next_page = scrapertools.find_single_match(data, '<a class="next page-numbers" href="([^"]+)">')
if next_page != "":
itemlist.append(
Item(channel=item.channel,
action="fichas",
title="[COLOR lightgreen]" + config.get_localized_string(30992) + "[/COLOR]",
url=next_page,
thumbnail=thumb()))
return itemlist
def fichas_src(item):
logger.info("[altadefinizioneclick.py] fichas")
itemlist = []
# Carica la pagina
data = httptools.downloadpage(item.url, headers=headers).data
patron = '<a href="([^"]+)">\s*<div[^=]+=[^=]+=[^=]+=[^=]+=[^=]+="(.*?)"[^>]+>[^<]+<[^>]+>\s*<h[^=]+="titleFilm">(.*?)<'
matches = re.compile(patron, re.DOTALL).findall(data)
for scrapedurl, scrapedthumbnail, scrapedtitle in matches:
title = scrapertools.decodeHtmlentities(scrapedtitle)
clean_title = re.sub(r'\(\d+\.?\d*\)', '', title).strip()
# ------------------------------------------------
scrapedthumbnail = httptools.get_url_headers(scrapedthumbnail)
# ------------------------------------------------
itemlist.append(
Item(channel=item.channel,
action="findvideos",
contentType="movie",
contentTitle=clean_title,
title="[COLOR azure]" + title + "[/COLOR]",
url=scrapedurl,
thumbnail=scrapedthumbnail,
fulltitle=title,
show=title))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
# Pagination
next_page = scrapertools.find_single_match(data, '<a class="next page-numbers" href="([^"]+)">')
if next_page != "":
itemlist.append(
Item(channel=item.channel,
action="fichas_src",
title="[COLOR lightgreen]" + config.get_localized_string(30992) + "[/COLOR]",
url=next_page,
thumbnail=thumb(item)))
return itemlist
def findvideos(item):
logger.info("[altadefinizioneclick.py] findvideos")
itemlist = []
support.log()
itemlist = support.hdpass_get_servers(item)
# Requerido para Filtrar enlaces
if __comprueba_enlaces__:
itemlist = servertools.check_list_links(itemlist, __comprueba_enlaces_num__)
# Requerido para FilterTools
itemlist = filtertools.get_links(itemlist, item, list_language)
# Requerido para AutoPlay
autoplay.start(itemlist, item)
if item.contentType != 'episode':
if config.get_videolibrary_support() and len(itemlist) > 0 and item.extra != 'findvideos':
itemlist.append(
Item(channel=item.channel, title='[COLOR yellow][B]Aggiungi alla videoteca[/B][/COLOR]', url=item.url,
action="add_pelicula_to_library", extra="findvideos", contentTitle=item.contentTitle))
support.videolibrary(itemlist, item ,'color blue bold')
return itemlist