(.*?)<\/p>.*?')
+ info = scrapertoolsV2.find_multiple_matches(data, r'([0-9]+)+<\/span>.*?(.*?)<\/span>.*? (.*?)<\/p>.*?')
infoLabels = {}
for infoLabels['year'], duration, scrapedplot, checkUrl in info:
if checkUrl == scrapedurl:
@@ -117,7 +115,7 @@ def peliculas(item):
fulltitle = scrapedtitle
if subDiv:
fulltitle += support.typo(subText + ' _ () color limegreen')
- fulltitle += support.typo(scrapedquality.strip() + ' _ [] color kod')
+ fulltitle += support.typo(scrapedquality.strip()+ ' _ [] color kod')
itemlist.append(
Item(channel=item.channel,
@@ -134,22 +132,22 @@ def peliculas(item):
thumbnail=scrapedthumbnail))
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
- support.nextPage(itemlist, item, data, '[^<]+[^<]+')
+ support.nextPage(itemlist,item,data,'[^<]+[^<]+')
return itemlist
-
def peliculas_list(item):
support.log()
item.fulltitle = ''
block = r'(.*)<\/tbody>'
patron = r' (?P (.*?)..*?<.*?src="(?P
.(.*?)
(.*?)
'
- patron = '(.*?)
'
- patron = '(.*?)
'
+ elif item.args[1] == 'years':
+ bloque = r'(.*?)
'
+ elif item.args[1] == 'orderalf':
+ bloque = r'(.*?)<.*?"mlnh-5">.<(.*?) (.*?)<.*?"mlnh-5">.<(.*?) [^<]+[^<]+'
+
+ itemlist = support.scrape(item, patron=patron, listGroups=listGroups,
+ headers= headers, patronNext=patronNext,
+ action='findvideos')
- action= 'findvideos'
- patron = r' [^"]+)"'\
- '.+?[^>]+>[^>]+ [^>]+[^>]+ [^>]+>(?P (?P '
- patronNext = r'[^<]+[^<]+'
+ return itemlist
- return locals()
# =========== def pagina del film con i server per verderlo =============
def findvideos(item):
- support.log('findvideos', item)
+ logger.info("%s mainlist findvideos_film log: %s" % (__channel__, item))
+ itemlist = []
return support.server(item, headers=headers)
# =========== def per cercare film/serietv =============
@@ -104,7 +137,7 @@ def search(item, text):
itemlist = []
text = text.replace(" ", "+")
item.url = host + "/index.php?do=search&story=%s&subaction=search" % (text)
- item.args = "search"
+ #item.extra = "search"
try:
return peliculas(item)
# Cattura la eccezione così non interrompe la ricerca globle se il canale si rompe!
@@ -117,18 +150,16 @@ def search(item, text):
# =========== def per le novità nel menu principale =============
def newest(categoria):
-
- support.log(categoria)
+ logger.info("%s mainlist newest log: %s" % (__channel__, categoria))
itemlist = []
item = Item()
try:
- if categoria == "peliculas":
- item.url = host
- item.action = "peliculas"
- itemlist = peliculas(item)
+ item.url = host
+ item.action = "peliculas"
+ itemlist = peliculas(item)
+ if itemlist[-1].action == "peliculas":
+ itemlist.pop()
- if itemlist[-1].action == "peliculas":
- itemlist.pop()
# Continua la ricerca in caso di errore
except:
import sys
@@ -136,4 +167,4 @@ def newest(categoria):
logger.error("{0}".format(line))
return []
- return itemlist
\ No newline at end of file
+ return itemlist
diff --git a/channels/altadefinizione01_link.json b/channels/altadefinizione01_link.json
index 610822e4..579853b4 100644
--- a/channels/altadefinizione01_link.json
+++ b/channels/altadefinizione01_link.json
@@ -4,9 +4,9 @@
"active": true,
"adult": false,
"language": ["ita"],
- "fanart": "https://altadefinizione01.tools/templates/Dark/img/nlogo.png",
- "thumbnail": "https://altadefinizione01.tools/templates/Dark/img/nlogo.png",
- "banner": "https://altadefinizione01.tools/templates/Dark/img/nlogo.png",
+ "fanart": "https://altadefinizione01.estate/templates/Dark/img/nlogo.png",
+ "thumbnail": "https://altadefinizione01.estate/templates/Dark/img/nlogo.png",
+ "banner": "https://altadefinizione01.estate/templates/Dark/img/nlogo.png",
"fix" : "reimpostato url e modificato file per KOD",
"change_date": "2019-30-04",
"categories": [
@@ -18,7 +18,7 @@
"id": "channel_host",
"type": "text",
"label": "Host del canale",
- "default": "https://www.altadefinizione01.tools/",
+ "default": "https://altadefinizione01.estate/",
"enabled": true,
"visible": true
},
diff --git a/channels/altadefinizione01_link.py b/channels/altadefinizione01_link.py
index d45e843f..584e175b 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,66 +11,88 @@ 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 = []
- 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'])
- ]
+ # 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)
- return locals()
+ # per autoplay
+ autoplay.init(item.channel, list_servers, list_quality)
+ autoplay.show_option(item.channel, itemlist)
+
+ support.channel_config(item, itemlist)
+
+ return itemlist
# ======== def in ordine di action dal menu ===========================
-@support.scrape
def peliculas(item):
- #import web_pdb; web_pdb.set_trace()
- support.log('peliculas',item)
+ support.log
itemlist = []
- patron = r'class="innerImage">.*?href="(?P(.*?)
'
+ bloque = r'(.*?)
'
elif item.args == 'years':
- patronBlock = r'(.*?)
'
+ bloque = r'(.*?)
'
elif item.args == 'quality':
- patronBlock = r'(.*?)
'
+ bloque = r'(.*?)
'
elif item.args == 'lucky': # sono i titoli random nella pagina, cambiano 1 volta al dì
- patronBlock = r'FILM RANDOM.*?class="listSubCat">(.*?)'
+ bloque = 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*([^<]+)<', ['url','title'],patronBlock='
(.*?)<\/ul>', action='findvideos')
+ return support.scrape(item, '([^<]+)<', ['url','title'],patron_block='
(.*?)<\/ul>', action='findvideos')
def newest(categoria):
log('ANIME PER TUTTI')
@@ -83,7 +83,7 @@ def newest(categoria):
return itemlist
def genres(item):
- itemlist = support.scrape(item, '([^<]+)<', ['url', 'title'], action='peliculas', patronBlock=r'Generi.*?
(.*?)
'
+ patron_block = r'\sGeneri(.*?)
'
patron = r''
- return support.scrape(item, patron, ['url','title'], patronBlock=patronBlock, action='video')
+ return support.scrape(item, patron, ['url','title'], patron_block=patron_block, action='video')
# Crea Menu Filtro ======================================================
@@ -118,7 +118,7 @@ def search(item, texto):
# Lista A-Z ====================================================
def alfabetico(item):
- return support.scrape(item, '', ['url', 'title'], patronBlock=r'.*?A alla Z.<\/span>.*?(.*?)<\/ul>', action='lista_anime')
+ return support.scrape(item, '', ['url', 'title'], patron_block=r'.*?A alla Z.<\/span>.*?
(.*?)<\/ul>', action='lista_anime')
def lista_anime(item):
@@ -259,10 +259,9 @@ def video(item):
def episodios(item):
log()
itemlist = []
-
patron_block = r'server active(.*?)server hidden '
patron = r'
]+)(?:\/|")>(?P
(?P]+)(?:\/|")>([^<[(]+)(?:\[([A-Za-z0-9/-]+)])? (?:\(([0-9]{4})\))?.*?([^<>&]+).*?DURATA ([0-9]+).*?
([^<>]+)'
+ listGroups = ['thumb', 'url', 'title', 'quality', 'year', 'genre', 'duration', 'plot']
action = 'findvideos'
else:
- patron = r'div class="card-image">.*?(?P
([^<[(]+)<\/a>.*?([^<>0-9(]+)\(([0-9]{4}).*?(?:p|div)>(.*?)