- nuovo metodo di override DNS - aggiunta opzione nascondi server, se usi l'autoplay - migliorie al codice e fix vari
90 lines
2.7 KiB
Python
90 lines
2.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
# ------------------------------------------------------------
|
|
# Ringraziamo Icarus crew
|
|
# Canale per cinetecadibologna
|
|
# ------------------------------------------------------------
|
|
|
|
import re
|
|
|
|
import urlparse
|
|
|
|
from core import httptools, scrapertools
|
|
from core.item import Item
|
|
from platformcode import logger, config
|
|
|
|
from core import support
|
|
|
|
host = support.config.get_channel_url()
|
|
|
|
|
|
headers = [['Referer', host]]
|
|
@support.menu
|
|
def mainlist(item):
|
|
film = ['/video/alfabetico_completo',
|
|
('Anni',['/video/epoche', 'menu']),
|
|
('Registi',['/video/registi', 'menu']),
|
|
('Attori',['/video/attori', 'menu']),
|
|
('Percorsi Tematici',['/video/percorsi','menu'])]
|
|
return locals()
|
|
|
|
|
|
@support.scrape
|
|
def menu(item):
|
|
action = 'peliculas'
|
|
if 'epoche' in item.url:
|
|
patronMenu =r'<li>\s*<a href="(?P<url>[^"]+)">(?P<title>[^>]+)<'
|
|
elif 'percorsi' in item.url:
|
|
patron = r'<div class="cover_percorso">\s*<a href="(?P<url>[^"]+)">\s*<img src="(?P<thumb>[^"]+)"[^>]+>\s*[^>]+>(?P<title>.*?)<'
|
|
else:
|
|
patron = r'<h2>\s*<a href="(?P<url>[^"]+)"\s*>(?P<title>[^<]+)<'
|
|
patronNext = r'<div class="dx">\s*<a href="(.*?)">pagina suc'
|
|
return locals()
|
|
|
|
|
|
def search(item, text):
|
|
support.log(text)
|
|
item.args = 'noorder'
|
|
item.url = host + '/ricerca/type_ALL/ricerca_' + text
|
|
item.contentType = 'movie'
|
|
try:
|
|
return peliculas(item)
|
|
# Continua la ricerca in caso di errore
|
|
except:
|
|
import sys
|
|
for line in sys.exc_info():
|
|
support.logger.error("%s" % line)
|
|
return []
|
|
|
|
|
|
|
|
@support.scrape
|
|
def peliculas(item):
|
|
if 'alfabetico' in item.url:
|
|
patron = r'<img src="(?P<thumb>[^"]+)"[^>]+>\s*[^>]+>\s*<div[^>]+>\s*<div[^>]+>[^>]+>\s*<a href="(?P<url>[^"]+)"[^>]+>(?:\[)?(?P<title>[^\]<]+)(?:\]|<)'
|
|
else:
|
|
if 'type_ALL' in item.url: patronBlock = r'Video:(?P<block>.*?)(?:<div class=""|<!--)'
|
|
elif not 'NomePersona' in item.url: patronBlock = r'<h3>Film</h3>(?P<block>.*?)<div class="list_wrapper'
|
|
patron = r'<a href="(?P<url>[^"]+)"\s*class="[^"]+"\s*title="(?:\[)?(?P<title>[^\]"]+)(?:\])?"\s*rel="(?P<thumb>[^"]+)"'
|
|
patronNext = r'<div class="dx">\s*<a href="(.*?)">pagina suc'
|
|
return locals()
|
|
|
|
|
|
def findvideos(item):
|
|
support.log()
|
|
itemlist = []
|
|
|
|
matches = support.match(item, 'filename: "(.*?)"')[0]
|
|
|
|
for url in matches:
|
|
itemlist.append(
|
|
Item(
|
|
channel=item.channel,
|
|
action="play",
|
|
title='Diretto',
|
|
server='directo',
|
|
url=host + url,
|
|
folder=False))
|
|
|
|
return support.server(item, itemlist=itemlist)
|
|
|