@@ -20,6 +20,7 @@ def findhost():
host = config . get_channel_url ( findhost )
headers = [ [ ' Referer ' , host ] ]
player_iframe = r ' <iframe src= " ([^ " ]+) " [^>]+></iframe> \ s?<div class= " player '
@support.menu
def mainlist ( item ) :
@@ -53,7 +54,7 @@ def peliculas(item):
# support.regexDbg(item, patron, headers)
else :
patronNext = r ' <a class= " nextpostslink " rel= " next " href= " ([^ " ]+) " > '
patron = r ' <div class= " mediaWrap mediaWrapAlt " > \ s*<a href= " (?P<url>[^ " ]+) " (?:[^>]+> )>? \ s*<img[^s]+src= " ([^ " ]+) " [^>]+> \ s*< \ /a>[^>]+>[^>]+>[^>]+>(?P<title>.+?)(?P<lang>[sSuUbB \ -iItTaA]+)?(?:[ ]? \ ((?P<year> \ d {4} )-?(?: \ d {4} )?) \ ).[^<]+[^>]+>< \ /a>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+> \ s*(?P<quality>[a-zA-Z-0-9 \ .]+) '
patron = r ' <div class= " mediaWrap mediaWrapAlt " > \ s*<a href= " (?P<url>[^ " ]+) " (?:[^>]+)? >? \ s*<img[^s]+src= " ([^ " ]+) " [^>]+> \ s*< \ /a>[^>]+>[^>]+>[^>]+>(?P<title>.+?)(?P<lang>[sSuUbB \ -iItTaA]+)?(?:[ ]? \ ((?P<year> \ d {4} )-?(?: \ d {4} )?) \ ).[^<]+[^>]+>< \ /a>[^>]+>[^>]+>[^>]+>[^>]+>[^>]+> \ s*(?P<quality>[a-zA-Z-0-9 \ .]+) '
patronBlock = r ' <div id= " main_col " >(?P<block>.*?)<! \ - \ - main_col \ - \ -> '
# if item.args != 'all' and item.args != 'search':
@@ -72,20 +73,20 @@ def episodios(item):
data_check = re . sub ( r ' > \ s+< ' , ' > < ' , data_check )
else :
data_check = item . data
patron_check = r ' <iframe src= " ([^ " ]+) " '
data = httptools . downloadpage ( scrapertools . find_single_match ( data_check , patron_check ) , headers = headers ) . data
data = httptools . downloadpage ( scrapertools . find_single_match ( data_check , player_iframe ) , headers = headers ) . data
data = data . replace ( " ' " , ' " ' )
data = re . sub ( ' \n | \t ' , ' ' , data )
data = re . sub ( r ' > \ s+< ' , ' > < ' , data )
patronBlock = r ' Stagioni< \ /a>.*?<ul class= " nav navbar-nav " >(?P<block>.*?)< \ /ul> '
patron = r ' <a href= " (?P<url>[^ " ]+) " \ s*> \ s*<i[^>]+>< \ /i> \ s*(?P<episode> \ d+)< \ /a> '
# debug = True
# debugBlock = True
otherLinks = support . match ( data_check , patronBlock = ' <div class= " content-left-film " >.*?Keywords ' , patron = ' ([0-9]+)(?:× |x)([0-9]+(?:-[0-9]+)?)(.*?)(?:<br|$) ' ) . matches
def itemlistHook ( itemlist ) :
retItemlist = [ ]
for item in itemlist :
item . contentType = ' episode '
@@ -93,8 +94,8 @@ def episodios(item):
season_data = httptools . downloadpage ( item . url ) . data
season_data = re . sub ( ' \n | \t ' , ' ' , season_data )
season_data = re . sub ( r ' > \ s+< ' , ' > < ' , season_data )
block = scrapertools. find_single_match( season_data, ' Episodi.*?<ul class=" nav navbar-nav" >(.*?)</ul>' )
episodes = scrapertools . find_multiple_matches ( block , ' <a href= " ([^ " ]+) " \ s*> \ s*<i[^>]+>< \ /i> \ s*( \ d+)< \ /a> ' )
# block = scrapertools. find_single_match( season_data, ' Episodi.*?<ul class=" nav navbar-nav" >(.*?)</ul>' )
episodes = scrapertools . find_multiple_matches ( season_data , ' <a.*? href= " (?P<url> [^ " ]+) " [^>]+>Episodio (?P<episode>[0-9]+)(?:: \ s*(?P<title2>[^<]+))? ' )
for url , episode in episodes :
i = item . clone ( )
i . action = ' findvideos '
@@ -110,7 +111,7 @@ def episodios(item):
retItemlist . sort ( key = lambda e : ( int ( e . contentSeason ) , int ( e . contentEpisodeNumber ) ) )
return retItemlist
#debug = True
# debugBlock = True
return locals ( )
@@ -153,10 +154,20 @@ def newest(categoria):
return locals ( )
@support.scrape
def hdpass ( item ) :
patronBlock = r ' <ul class= " nav navbar-nav " >(?P<block>.*?)</ul> '
patron = r ' <a.*?href= " (?P<url>[^ " ]+) " > '
def itemHook ( item ) :
url = support . match ( item . url , patron = ' <iframe.*?src= " ([^ " ]+) ' ) . match
return Item ( url = url )
return locals ( )
def findvideos ( item ) :
log ( )
listurl = set ( )
itemlist = [ ]
support . log ( " ITEMLIST: " , item )
data = support . match ( item . url , headers = headers ) . data
check = support . match ( data , patron = r ' <div class= " category-film " >(.*?)</div> ' ) . match
@@ -190,11 +201,24 @@ def findvideos(item):
# listurl.add(url)
# data += '\n'.join(listurl)
log ( data )
urls = support . match ( data , patron = r ' <iframe.*?src= " ([^ " ]+) " ' ) . matches
if item . otherLinks :
urls + = support . match ( item . otherLinks , patron = r ' href= " ([^ " ]+) ' ) . matches
log ( ' URLS ' , urls )
itemlist = [ ]
# support.dbg()
itemlist = support . server ( item , urls )
support . addQualityTag ( item , itemlist , data , ' Keywords: \ s*(?:<span>)?([^<]+) ' )
if ' /serietv/series/names ' in item . url :
itemlist . extend ( support . server ( item , itemlist = hdpass ( Item ( url = item . url ) ) ) )
else :
urls = support . match ( data , patron = player_iframe ) . matches
# support.dbg()
if item . otherLinks :
urls + = support . match ( item . otherLinks , patron = r ' href= " ([^ " ]+) ' ) . matches
log ( ' URLS ' , urls )
for u in urls :
if ' hdplayer.casa/series/ ' in u :
urls . remove ( u )
itemlist . extend ( support . server ( item , itemlist = hdpass ( Item ( url = u ) ) ) )
break
else :
itemlist . extend ( support . server ( item , urls ) )
support . addQualityTag ( item , itemlist , data , ' Keywords: \ s*(?:<span>)?([^<]+) ' )
return itemlist