diff --git a/channels/altadefinizione01.py b/channels/altadefinizione01.py index 218d7e6d..7306f0a9 100644 --- a/channels/altadefinizione01.py +++ b/channels/altadefinizione01.py @@ -3,59 +3,109 @@ # Canale per altadefinizione01 # ------------------------------------------------------------ -from core import servertools, httptools, tmdb, scrapertoolsV2, support -from core.item import Item -from platformcode import logger, config from specials import autoplay +from core import servertools, support, jsontools +from core.item import Item +from platformcode import config, logger -#URL che reindirizza sempre al dominio corrente -#host = "https://altadefinizione01.to" +__channel__ = "altadefinizione01_club" -__channel__ = "altadefinizione01" host = config.get_channel_url(__channel__) -IDIOMAS = {'Italiano': 'IT'} -list_language = IDIOMAS.values() -list_servers = ['openload', 'streamango', 'rapidvideo', 'streamcherry', 'megadrive'] +headers = [['User-Agent', 'Mozilla/50.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0'], + ['Referer', host]] + +list_servers = ['verystream','openload','rapidvideo','streamango'] list_quality = ['default'] -checklinks = config.get_setting('checklinks', 'altadefinizione01') -checklinks_number = config.get_setting('checklinks_number', 'altadefinizione01') - -headers = [['Referer', host]] -blacklist_categorie = ['Altadefinizione01', 'Altadefinizione.to'] - +@support.menu def mainlist(item): - support.log() - itemlist =[] + film = '' - support.menu(itemlist, 'Al Cinema','peliculas',host+'/cinema/') - support.menu(itemlist, 'Ultimi Film Inseriti','peliculas',host) - support.menu(itemlist, 'Film Sub-ITA','peliculas',host+'/sub-ita/') - support.menu(itemlist, 'Film Ordine Alfabetico ','AZlist',host+'/catalog/') - support.menu(itemlist, 'Categorie Film','categories',host) - support.menu(itemlist, 'Cerca...','search') - - autoplay.init(item.channel, list_servers, list_quality) - autoplay.show_option(item.channel, itemlist) + filmSub = [ + ('Al Cinema', ['/cinema/', 'peliculas', 'pellicola']), + ('Generi', ['', 'categorie', 'genres']), + ('Lettera', ['/catalog/a/', 'categorie', 'orderalf']), + ('Anni', ['', 'categorie', 'years']), + ('Sub-ITA', ['/sub-ita/', 'peliculas', 'pellicola']) + ] - return itemlist + return locals() +@support.scrape +def peliculas(item): +## import web_pdb; web_pdb.set_trace() + support.log('peliculas',item) -def categories(item): - support.log(item) - itemlist = support.scrape(item,'
(?P
(.*?)<\/p>.*?')
- infoLabels = {}
- for infoLabels['year'], duration, scrapedplot, checkUrl in info:
- if checkUrl == scrapedurl:
- break
-
- infoLabels['duration'] = int(duration.replace(' min', '')) * 60 # calcolo la durata in secondi
- scrapedthumbnail = host + scrapedthumbnail
- scrapedtitle = scrapertoolsV2.decodeHtmlentities(scrapedtitle)
- fulltitle = scrapedtitle
- if subDiv:
- fulltitle += support.typo(subText + ' _ () color limegreen')
- fulltitle += support.typo(scrapedquality.strip()+ ' _ [] color kod')
-
- itemlist.append(
- Item(channel=item.channel,
- action="findvideos",
- contentType=item.contenType,
- contentTitle=scrapedtitle,
- contentQuality=scrapedquality.strip(),
- plot=scrapedplot,
- title=fulltitle,
- fulltitle=scrapedtitle,
- show=scrapedtitle,
- url=scrapedurl,
- infoLabels=infoLabels,
- thumbnail=scrapedthumbnail))
-
- tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
- support.nextPage(itemlist,item,data,'[^<]+[^<]+')
-
- return itemlist
-
-def peliculas_list(item):
- support.log()
- item.fulltitle = ''
- block = r'(.*)<\/tbody>'
- patron = r' (.*?) (?P.(.*?)
..*?<.*?src="(?P
(.*?)
'
- elif item.args[1] == 'years':
- bloque = r'(.*?)
'
- elif item.args[1] == 'orderalf':
- bloque = r'(.*?)
'
+ patron = '(.*?)
'
+ patron = '(.*?)<.*?"mlnh-5">.<(.*?) (.*?)<.*?"mlnh-5">.<(.*?) [^<]+[^<]+'
-
- itemlist = support.scrape(item, patron=patron, listGroups=listGroups,
- headers= headers, patronNext=patronNext,
- action='findvideos')
-
- return itemlist
+ action= 'findvideos'
+ patron = r' [^"]+)"'\
+ '.+?[^>]+>[^>]+ [^>]+[^>]+ [^>]+>(?P (?P '
+ patronNext = r'[^<]+[^<]+'
+ return locals()
# =========== def pagina del film con i server per verderlo =============
def findvideos(item):
- logger.info("%s mainlist findvideos_film log: %s" % (__channel__, item))
- itemlist = []
+ support.log('findvideos', item)
return support.server(item, headers=headers)
# =========== def per cercare film/serietv =============
@@ -137,7 +102,7 @@ def search(item, text):
itemlist = []
text = text.replace(" ", "+")
item.url = host + "/index.php?do=search&story=%s&subaction=search" % (text)
- #item.extra = "search"
+ item.args = "search"
try:
return peliculas(item)
# Cattura la eccezione così non interrompe la ricerca globle se il canale si rompe!
@@ -150,16 +115,17 @@ def search(item, text):
# =========== def per le novità nel menu principale =============
def newest(categoria):
- logger.info("%s mainlist newest log: %s" % (__channel__, categoria))
+ support.log(categoria)
itemlist = []
item = Item()
try:
- item.url = host
- item.action = "peliculas"
- itemlist = peliculas(item)
- if itemlist[-1].action == "peliculas":
- itemlist.pop()
+ if categoria == "peliculas":
+ item.url = host
+ item.action = "peliculas"
+ itemlist = peliculas(item)
+ if itemlist[-1].action == "peliculas":
+ itemlist.pop()
# Continua la ricerca in caso di errore
except:
import sys
diff --git a/channels/altadefinizione01_link.py b/channels/altadefinizione01_link.py
index 584e175b..d45e843f 100644
--- a/channels/altadefinizione01_link.py
+++ b/channels/altadefinizione01_link.py
@@ -2,7 +2,7 @@
# -*- Channel Altadefinizione01L Film - Serie -*-
# -*- By Greko -*-
-import channelselector
+##import channelselector
from specials import autoplay
from core import servertools, support, jsontools
from core.item import Item
@@ -11,88 +11,66 @@ from platformcode import config, logger
__channel__ = "altadefinizione01_link"
# ======== def per utility INIZIO ============================
+host = config.get_setting("channel_host", __channel__)
list_servers = ['supervideo', 'streamcherry','rapidvideo', 'streamango', 'openload']
list_quality = ['default']
-host = config.get_setting("channel_host", __channel__)
-
headers = [['Referer', host]]
# =========== home menu ===================
-
+@support.menu
def mainlist(item):
- """
- Creo il menu principale del canale
- :param item:
- :return: itemlist []
- """
- support.log()
- itemlist = []
- # Menu Principale
- support.menu(itemlist, 'Novità bold', 'peliculas', host)
- support.menu(itemlist, 'Film per Genere', 'genres', host, args='genres')
- support.menu(itemlist, 'Film per Anno submenu', 'genres', host, args='years')
- support.menu(itemlist, 'Film per Qualità submenu', 'genres', host, args='quality')
- support.menu(itemlist, 'Al Cinema bold', 'peliculas', host + '/film-del-cinema')
- support.menu(itemlist, 'Popolari bold', 'peliculas', host + '/piu-visti.html')
- support.menu(itemlist, 'Mi sento fortunato bold', 'genres', host, args='lucky')
- support.menu(itemlist, 'Sub-ITA bold', 'peliculas', host + '/film-sub-ita/')
- support.menu(itemlist, 'Cerca film submenu', 'search', host)
+ film = ''
+ filmSub = [
+ ('Al Cinema', ['/film-del-cinema', 'peliculas']),
+ ('Generi', ['', 'genres', 'genres']),
+ ('Anni', ['', 'genres', 'years']),
+ ('Mi sento fortunato', ['/piu-visti.html', 'genres', 'lucky']),
+ ('Popolari', ['/piu-visti.html', 'peliculas', '']),
+ ('Qualità', ['/piu-visti.html', 'genres', 'quality']),
+ ('Sub-ITA', ['/sub-ita/', 'peliculas'])
+ ]
- # per autoplay
- autoplay.init(item.channel, list_servers, list_quality)
- autoplay.show_option(item.channel, itemlist)
-
- support.channel_config(item, itemlist)
-
- return itemlist
+ return locals()
# ======== def in ordine di action dal menu ===========================
+@support.scrape
def peliculas(item):
- support.log
+ #import web_pdb; web_pdb.set_trace()
+ support.log('peliculas',item)
itemlist = []
- patron = r'class="innerImage">.*?href="([^"]+)".*?src="([^"]+)"'\
- '.*?class="ml-item-title">([^<]+) (\d{4}) <'\
- '.*?class="ml-item-label">.*?class="ml-item-label ml-item-label-.+?"> '\
- '(.+?) .*?class="ml-item-label"> (.+?) '
- listGroups = ['url', 'thumb', 'title', 'year', 'quality', 'lang']
+ patron = r'class="innerImage">.*?href="(?P(.*?)
'
+ patronBlock = r'(.*?)
'
elif item.args == 'years':
- bloque = r'(.*?)
'
+ patronBlock = r'(.*?)
'
elif item.args == 'quality':
- bloque = r'(.*?)
'
+ patronBlock = r'(.*?)
'
elif item.args == 'lucky': # sono i titoli random nella pagina, cambiano 1 volta al dì
- bloque = r'FILM RANDOM.*?class="listSubCat">(.*?)'
+ patronBlock = r'FILM RANDOM.*?class="listSubCat">(.*?)'
action = 'findvideos'
-
- patron = r'(.*?)
'
+
+ return locals()
+
+@support.scrape
+def peliculas(item):
+ support.log()
+ if item.extra == 'search':
+ patron = r'\s*[^"]+)"[^>]+>[^>]+>[^>]+>(?P
[^"]+)[^>]+><\/a>.*?(?P
(.*?)
', action='peliculas')
- return support.thumb(itemlist)
-
-def peliculas(item):
- support.log()
- if item.extra == 'search':
- patron = r'\s*]+>[^>]+>[^>]+>([^<]+)<[^<]+>(?:.*?IMDB:\s([^<]+)<\/div>)?'
- elements = ['url', 'quality', 'thumb', 'title', 'rating']
-
- else:
- patron = r'
]+><\/a>.*?([^(?:\]|<)]+)(?:\[([^\]]+)\])?<\/a>[^>]+>[^>]+>[^>]+>(?:\sIMDB\:\s([^<]+)<)?(?:.*?([^<]+)<\/span>)?\s*]+)>([^<([]+)(?:\[([A-Z]+)\])?\s\(([0-9]{4})\)<\/a>',
['url', 'title', 'quality', 'year'],
- patron_block=r'Ultimi 100 film aggiunti:.*?<\/td>')
+ patronBlock=r'Ultimi 100 film aggiunti:.*?<\/td>')
def last(item):
@@ -119,10 +111,8 @@ def last(item):
itemlist = []
infoLabels = {}
quality = ''
- PERPAGE = 30
+ PERPAGE = 20
page = 1
- count = 0
-
if item.page:
page = item.page
@@ -132,14 +122,13 @@ def last(item):
matches = support.match(item, r']+)>([^(:(|[)]+)([^<]+)<\/a>', r'Ultimi 100 film Aggiornati:<\/a><\/strong>(.*?)
', headers)[0]
for i, (url, title, info) in enumerate(matches):
- if (page - 1) * PERPAGE > i - count: continue
- if i - count >= page * PERPAGE: break
+ if (page - 1) * PERPAGE > i: continue
+ if i >= page * PERPAGE: break
add = True
title = title.rstrip()
if item.contentType == 'tvshow':
for i in itemlist:
if i.url == url: # togliamo i doppi
- count = count + 1
add = False
else:
infoLabels['year'] = scrapertoolsV2.find_single_match(info, r'\(([0-9]+)\)')
@@ -170,21 +159,22 @@ def last(item):
return itemlist
+@support.scrape
def peliculas(item):
support.log()
if item.contentType == 'movie' or '/serietv/' not in item.url:
- patron = r' ]+)(?:\/|")>([^<[(]+)(?:\[([A-Za-z0-9/-]+)])? (?:\(([0-9]{4})\))?.*?([^<>&]+).*?DURATA ([0-9]+).*?
([^<>]+)'
- listGroups = ['thumb', 'url', 'title', 'quality', 'year', 'genre', 'duration', 'plot']
+ patron = r']+)(?:\/|")>(?P
(?P([^<[(]+)<\/a>.*?([^<>0-9(]+)\(([0-9]{4}).*?(?:p|div)>(.*?)
(?P