Bugfixes italiaserie
This commit is contained in:
@@ -1,8 +1,7 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# ------------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
# Ringraziamo Icarus crew
|
|
||||||
# Canale per italiaserie
|
# Canale per italiaserie
|
||||||
# ----------------------------------------------------------
|
# ------------------------------------------------------------
|
||||||
import re
|
import re
|
||||||
|
|
||||||
import autoplay
|
import autoplay
|
||||||
@@ -16,7 +15,6 @@ from platformcode import logger
|
|||||||
host = "https://italiaserie.org"
|
host = "https://italiaserie.org"
|
||||||
|
|
||||||
list_servers = ['speedvideo']
|
list_servers = ['speedvideo']
|
||||||
list_quality = ['1080p', '720p', '480p']
|
|
||||||
|
|
||||||
IDIOMAS = {'Italiano': 'IT'}
|
IDIOMAS = {'Italiano': 'IT'}
|
||||||
list_language = IDIOMAS.values()
|
list_language = IDIOMAS.values()
|
||||||
@@ -27,11 +25,13 @@ def mainlist(item):
|
|||||||
itemlist = []
|
itemlist = []
|
||||||
|
|
||||||
support.menu(itemlist, 'Ultime Uscite', 'peliculas', host + "/category/serie-tv/", "episode")
|
support.menu(itemlist, 'Ultime Uscite', 'peliculas', host + "/category/serie-tv/", "episode")
|
||||||
support.menu(itemlist, 'Ultimi Episodi', 'peliculas', host + "/ultimi-episodi/", "episode", 'latest')
|
# page not working
|
||||||
|
# support.menu(itemlist, 'Ultimi Episodi', 'peliculas', host + "/ultimi-episodi/", "episode", 'latest')
|
||||||
|
support.menu(itemlist, 'Ultimi Episodi', 'peliculas', host, "episode", 'latest')
|
||||||
support.menu(itemlist, 'Categorie', 'menu', host, "episode", args="Serie-Tv per Genere")
|
support.menu(itemlist, 'Categorie', 'menu', host, "episode", args="Serie-Tv per Genere")
|
||||||
support.menu(itemlist, 'Cerca...', 'search', host, 'episode', args='serie')
|
support.menu(itemlist, 'Cerca...', 'search', host, 'episode', args='serie')
|
||||||
|
|
||||||
autoplay.init(item.channel, list_servers, list_quality)
|
autoplay.init(item.channel, list_servers, [])
|
||||||
autoplay.show_option(item.channel, itemlist)
|
autoplay.show_option(item.channel, itemlist)
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
@@ -63,19 +63,22 @@ def newest(categoria):
|
|||||||
|
|
||||||
|
|
||||||
def peliculas(item):
|
def peliculas(item):
|
||||||
logger.info("kod.italiaserie peliculas")
|
support.log()
|
||||||
patron = r'<div class="post-thumb">\s*<a href="([^"]+)" title="([^"]+)">\s*<img src="([^"]+)"[^>]+>'
|
patron = r'<div class="post-thumb">\s*<a href="([^"]+)" title="([^"]+)">\s*<img src="([^"]+)"[^>]+>'
|
||||||
list_groups = ["url", "title", "thumb"]
|
list_groups = ["url", "title", "thumb"]
|
||||||
|
|
||||||
support.log(item.tojson())
|
|
||||||
|
|
||||||
if item.args == "latest":
|
if item.args == "latest":
|
||||||
patron += r'.*?aj-eps">(.*?)</span>'
|
patron += r'.*?aj-eps">(.*?)</span>'
|
||||||
data = httptools.downloadpage(item.url).data
|
data = httptools.downloadpage(item.url).data
|
||||||
matches = re.compile(patron, re.S).findall(data)
|
|
||||||
|
# remove when /ultimi-episodi page will work again
|
||||||
|
block = scrapertools.find_single_match(data, r'<ul class="recent-posts">(.*?)<\/ul>')
|
||||||
|
|
||||||
|
matches = re.compile(patron, re.S).findall(block)
|
||||||
itemlist = []
|
itemlist = []
|
||||||
|
|
||||||
for scrapedurl, scrapedtitle, scrapedthumbnail, scrapedep in matches:
|
for scrapedurl, scrapedtitle, scrapedthumbnail, scrapedep in matches:
|
||||||
|
s, ep = scrapertools.find_single_match(scrapedep, r'(\d+)x(\d+)\s')
|
||||||
itemlist.append(
|
itemlist.append(
|
||||||
Item(channel=item.channel,
|
Item(channel=item.channel,
|
||||||
action="seasons",
|
action="seasons",
|
||||||
@@ -85,7 +88,7 @@ def peliculas(item):
|
|||||||
show=scrapedtitle,
|
show=scrapedtitle,
|
||||||
url=scrapedurl,
|
url=scrapedurl,
|
||||||
extra=item.extra,
|
extra=item.extra,
|
||||||
args=scrapedep
|
args={"season": s, "episode": ep}
|
||||||
))
|
))
|
||||||
|
|
||||||
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
|
tmdb.set_infoLabels_itemlist(itemlist, seekTmdb=True)
|
||||||
@@ -96,7 +99,7 @@ def peliculas(item):
|
|||||||
|
|
||||||
|
|
||||||
def search(item, texto):
|
def search(item, texto):
|
||||||
logger.info("[italiaserie.py] " + item.url + " search " + texto)
|
support.log("s=", texto)
|
||||||
item.url = host + "/?s=" + texto
|
item.url = host + "/?s=" + texto
|
||||||
try:
|
try:
|
||||||
return peliculas(item)
|
return peliculas(item)
|
||||||
@@ -109,42 +112,57 @@ def search(item, texto):
|
|||||||
|
|
||||||
|
|
||||||
def menu(item):
|
def menu(item):
|
||||||
|
support.log()
|
||||||
patron = r'<li class="cat-item.*?href="([^"]+)".*?>(.*?)</a>'
|
patron = r'<li class="cat-item.*?href="([^"]+)".*?>(.*?)</a>'
|
||||||
return support.scrape(item, patron, ["url", "title"], action="peliculas")
|
return support.scrape(item, patron, ["url", "title"], action="peliculas")
|
||||||
|
|
||||||
|
|
||||||
def seasons(item):
|
def seasons(item):
|
||||||
|
support.log()
|
||||||
|
|
||||||
patron = r'<div class="su-spoiler.*?</i>(.*?)</div>\s+<div class="su-spoiler-content"(.*?)="clearfix">'
|
patron = r'<div class="su-spoiler.*?</i>(.*?)</div>\s+<div class="su-spoiler-content"(.*?)="clearfix">'
|
||||||
itemlist = support.scrape(item, patron, ["title", "url"], action="episodios")
|
itemlist = support.scrape(item, patron, ["title", "url"], action="episodios")
|
||||||
|
|
||||||
if item.args != "":
|
if item.args:
|
||||||
s, ep = scrapertools.find_single_match(item.args, r'(\d+)x(\d+)\s')
|
s = item.args["season"]
|
||||||
s = (int(s) - 1)
|
s = (int(s) - 1)
|
||||||
lastitem = itemlist[s]
|
lastitem = itemlist[s]
|
||||||
lastitem.args = ep
|
lastitem.args = {"episode": item.args["episode"]}
|
||||||
|
|
||||||
return episodios(lastitem)
|
return episodios(lastitem)
|
||||||
|
|
||||||
return itemlist
|
return itemlist[:-1]
|
||||||
|
|
||||||
|
|
||||||
def episodios(item):
|
def episodios(item):
|
||||||
|
support.log()
|
||||||
|
season = item.fulltitle
|
||||||
|
|
||||||
patron = r'<div class="su-link-ep">\s+<a.*?href="([^"]+)".*?strong>(.*?)</'
|
patron = r'<div class="su-link-ep">\s+<a.*?href="([^"]+)".*?strong>(.*?)</'
|
||||||
if item.args != "":
|
if item.args:
|
||||||
ep = int(item.args)
|
ep = int(item.args["episode"])
|
||||||
patron = r'<div class="su-link-ep">\s+<a.*?href="([^"]+)".*?strong>\s(Episodio ' + str(ep) + r') .*?</'
|
patron = r'<div class="su-link-ep">\s+<a.*?href="([^"]+)".*?strong>\s(Episodio ' + str(ep) + r') .*?</'
|
||||||
|
|
||||||
return support.scrape(item, patron, ["url", "title"], data=item.url)
|
itemlist = support.scrape(item, patron, ["url", "title"], data=item.url)
|
||||||
|
|
||||||
|
if item.args:
|
||||||
|
itemlist = itemlist[:-1]
|
||||||
|
|
||||||
|
for it in itemlist:
|
||||||
|
if it.action == "findvideos":
|
||||||
|
season_n = season.lower().replace("stagione", "").strip()
|
||||||
|
ep_n = scrapertools.find_single_match(it.title, r'Episodio\s+(\d+)')
|
||||||
|
it.title = season_n + "x" + str(ep_n).zfill(2) + re.sub(r"Episodio\s+" + ep_n, "", it.title)
|
||||||
|
|
||||||
|
return itemlist
|
||||||
|
|
||||||
|
|
||||||
def findvideos(item):
|
def findvideos(item):
|
||||||
support.log()
|
support.log()
|
||||||
|
|
||||||
itemlist = support.server(item, data=item.url)
|
itemlist = support.server(item, data=item.url)
|
||||||
|
|
||||||
itemlist = filtertools.get_links(itemlist, item, list_language)
|
itemlist = filtertools.get_links(itemlist, item, list_language)
|
||||||
|
|
||||||
autoplay.start(itemlist, item)
|
autoplay.start(itemlist, item)
|
||||||
support.videolibrary(itemlist, item, 'color blue bold')
|
|
||||||
|
|
||||||
return itemlist
|
return itemlist
|
||||||
|
|||||||
Reference in New Issue
Block a user