costaplus

animetubeitalia

May 30th, 2016
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 10.07 KB | None | 0 0
  1. # -*- coding: utf-8 -*-
  2. # ------------------------------------------------------------
  3. # streamondemand.- XBMC Plugin
  4. # Canal para itafilmtv
  5. # http://blog.tvalacarta.info/plugin-xbmc/streamondemand.
  6. #  By Costaplus
  7. # ------------------------------------------------------------
  8. import re
  9. import sys
  10. import urlparse
  11. import urllib2
  12. import xbmc
  13. from core import config
  14. from core import logger
  15. from core import scrapertools
  16. from core.item import Item
  17. from servers import servertools
  18.  
  19. __channel__ = "animetubeitalia"
  20. __category__ = "F"
  21. __type__ = "generic"
  22. __title__ = "animetubeitalia.it"
  23. __language__ = "IT"
  24.  
  25. DEBUG = True #config.get_setting("debug")
  26.  
  27.  
  28. host = "http://www.animetubeitalia.it"
  29. hostlista = host + "/animetube/"
  30.  
  31.  
  32.  
  33.  
  34. def isGeneric():
  35.     return True
  36.  
  37. #-----------------------------------------------------------------
  38. def mainlist(item):
  39.     log("animetubeita","mainlist")
  40.     itemlist =[]
  41.     itemlist.append(Item(channel=__channel__, action="lista_nuove_serie", title="[COLOR yellow]Nuove Serie[/COLOR]",url=hostlista + "ultimeSerie.php", thumbnail=CategoriaThumbnail, fanart=CategoriaFanart))
  42.     itemlist.append(Item(channel=__channel__,action="lista_anime",title="[COLOR azure]Lista Serie[/COLOR]"    ,url=hostlista+"ListaSerie.php",thumbnail=AnimeThumbnail,fanart=AnimeFanart))
  43.     itemlist.append(Item(channel=__channel__,action="lista_generi"  ,title="[COLOR azure]Categorie[/COLOR]",url=hostlista+"ListaGeneri.php" ,thumbnail=CategoriaThumbnail,fanart=CategoriaFanart))
  44.     itemlist.append(Item(channel=__channel__,action="cerca"     ,title="[COLOR orange]Cerca...[/COLOR]",url=hostlista+"ListaSerie.php",thumbnail=CercaThumbnail,fanart=CercaFanart))
  45.  
  46.     return itemlist
  47. #=================================================================
  48.  
  49. #http://www.animetubeitalia.it/animetube/ListaSerie.php
  50.  
  51. #-----------------------------------------------------------------
  52. def lista_nuove_serie(item):
  53.     log("lista_nuove_serie", "lista_nuove_serie")
  54.     itemlist = []
  55.     patron = '<div style="float.*?>\s+<a href=".*?=(.*?)".*?\s+<a href="(.*?)"><img.*?src="(.*?)"></a>'
  56.     for scrapedtitle,scrapedurl,scrapedthumbnail in scrapedAll(item.url, patron):
  57.         log("lista_anime","scrapedtitle:" + scrapedtitle +" scrapedurl: " + scrapedurl + " scrapedthumbnail:" + scrapedthumbnail)
  58.         scrapedtitle=scrapedtitle.replace("_"," ")
  59.         itemlist.append(Item(channel=__channel__, action="episodi", title=scrapedtitle, url=hostlista +scrapedurl,thumbnail=hostlista + scrapedthumbnail, fulltitle=scrapedtitle, show=scrapedtitle,fanart=hostlista + scrapedthumbnail))
  60.  
  61.     #Paginazione
  62.     #===========================================================
  63.     patron='<a style="color:white">.*?</a>.*?<a href="(.*?)">'
  64.     for Pagina in scrapedAll(item.url,patron):
  65.         pass
  66.     xbmc.log(hostlista+ "ultimeSerie.php" + Pagina)
  67.     itemlist.append(Item(channel=__channel__, action="lista_nuove_serie", title="[COLOR orange]Successivo>>[/COLOR]", url=hostlista+ "ultimeSerie.php" + Pagina,thumbnail="http://2.bp.blogspot.com/-fE9tzwmjaeQ/UcM2apxDtjI/AAAAAAAAeeg/WKSGM2TADLM/s1600/pager+old.png",folder=True))
  68.  
  69.     itemlist.append(Item(channel=__channel__, action="HomePage", title="[COLOR yellow]Torna Home[/COLOR]", folder=True))
  70.  
  71.     return itemlist
  72. #=================================================================
  73.  
  74. #-----------------------------------------------------------------
  75. def lista_anime(item):
  76.     log("lista_anime", "lista_anime")
  77.     itemlist = []
  78.     patron = '<a class="screenshot" rel="(.*?)" href="(.*?)">(.*?)</a>'
  79.     for scrapedthumbnail,scrapedurl,scrapedtitle in scrapedAll(item.url, patron):
  80.         log("lista_anime","scrapedurl: " + scrapedurl + " scrapedthumbnail:" + scrapedthumbnail + " scrapedtitle:" + scrapedtitle)
  81.         itemlist.append(Item(channel=__channel__, action="episodi", title=scrapedtitle, url=hostlista +scrapedurl,thumbnail=hostlista + scrapedthumbnail, fulltitle=scrapedtitle, show=scrapedtitle,fanart=hostlista + scrapedthumbnail))
  82.  
  83.     return itemlist
  84. #=================================================================
  85.  
  86. def lista_generi(item):
  87.     log("lista_anime", "lista_generi")
  88.     itemlist = []
  89.  
  90.     patron = '<input type="checkbox" id="check.*?" name="(.*?)" value="(.*?)" >'
  91.     for  scrapednum,scrapedtitle in scrapedAll(item.url, patron):
  92.         log("lista_generi","scrapedtitle:" + scrapedtitle)
  93.         itemlist.append(Item(channel=__channel__, action="episodi", title=scrapedtitle, url="",thumbnail=item.thumbnail, fulltitle=scrapedtitle, show=scrapedtitle,fanart=item.fanart))
  94.  
  95.     return itemlist
  96. #=================================================================
  97.  
  98. #-----------------------------------------------------------------
  99. def episodi(item):
  100.     log("episodi", "episodi")
  101.     itemlist =[]
  102.     single='<i>.*?</i>'
  103.     patron= '<a href="(.*?)">(.*?)</a>'
  104.     for scrapedurl,scrapedtitle in scrapedSingle(item.url,single, patron):
  105.        log("episodi", "scrapedurl: " + scrapedurl + " scrapedtitle:" + scrapedtitle)
  106.        #if DEBUG: logger.info("scrapedurl: " + scrapedurl + " scrapedtitle:" + scrapedtitle)
  107.        itemlist.append(Item(channel=__channel__, action="player", title=scrapedtitle, url=hostlista + scrapedurl,thumbnail=item.thumbnail, fulltitle=scrapedtitle, show=scrapedtitle,fanart=item.thumbnail))
  108.  
  109.     return itemlist
  110. #=================================================================
  111.  
  112. #-----------------------------------------------------------------
  113. def search(item,texto):
  114.     log("animetubeitalia", "search")
  115.     itemlist = []
  116.     patron = '<a class="screenshot" rel="(.*?)" href="(.*?)">(.*?)</a>'
  117.     for scrapedthumbnail, scrapedurl, scrapedtitle in scrapedAll(item.url, patron):
  118.         log("lista_anime","scrapedurl: " + scrapedurl + " scrapedthumbnail:" + scrapedthumbnail + " scrapedtitle:" + scrapedtitle)
  119.         if scrapedtitle.lower().startswith(texto, 0):
  120.             itemlist.append(Item(channel=__channel__, action="episodi", title=scrapedtitle, url=hostlista + scrapedurl,thumbnail=hostlista + scrapedthumbnail, fulltitle=scrapedtitle, show=scrapedtitle,fanart=hostlista + scrapedthumbnail))
  121.  
  122.     return itemlist
  123. #=================================================================
  124.  
  125. #-----------------------------------------------------------------
  126. def player(item):
  127.     itemlist =[]
  128.     xbmc.log(item.url)
  129.     patron='<source.*?src="(.*?)".*?>'
  130.    #Link a video mp4
  131.  
  132.  
  133.     for scrapedurl in scrapedAll(item.url, patron):
  134.         url=hostlista+scrapedurl
  135.         log("player","url Video:"+url)
  136.         itemlist.append(Item(channel=__channel__, action="play", title=item.title + "[COLOR yellow] Normale [/COLOR]", url=url, thumbnail=item.thumbnail,plot=item.plot,fanart=item.fanart, folder=False))
  137.     # Link a video mp4 alternativo
  138.     for scrapedurl in scrapedAllPost(item.url,"player=1", patron):
  139.         url = hostlista + scrapedurl
  140.         log("player", "url Video:" + url)
  141.         itemlist.append(Item(channel=__channel__, action="play", title=item.title + "[COLOR orange] Alternativo [/COLOR]", url=url, thumbnail=item.thumbnail,plot=item.plot, fanart=item.fanart, folder=False))
  142.     return itemlist
  143. #=================================================================
  144.  
  145.  
  146.  
  147.  
  148. #=================================================================
  149. # Funzioni di servizio
  150. #-----------------------------------------------------------------
  151. def scrapedAll(url="",patron=""):
  152.     matches = []
  153.     data = scrapertools.cache_page(url,timeout=10)
  154.     if DEBUG: logger.info("data:"+data)
  155.     xbmc.log("data:" + data)
  156.     MyPatron = patron
  157.     matches = re.compile(MyPatron, re.DOTALL).findall(data)
  158.     scrapertools.printMatches(matches)
  159.  
  160.     return matches
  161. #=================================================================
  162.  
  163. #-----------------------------------------------------------------
  164. def scrapedAllPost(url="",Post="",patron=""):
  165.     matches = []
  166.  
  167.     data = scrapertools.cachePagePost(url,post=Post)
  168.     if DEBUG: logger.info("data:"+data)
  169.  
  170.     MyPatron = patron
  171.     matches = re.compile(MyPatron, re.DOTALL).findall(data)
  172.     scrapertools.printMatches(matches)
  173.  
  174.     return matches
  175. #=================================================================
  176.  
  177. #-----------------------------------------------------------------
  178. def scrapedSingle(url="",single="",patron=""):
  179.     matches =[]
  180.     data = scrapertools.cache_page(url,timeout=10)
  181.     xbmc.log("url:" + url + " data:" + data)
  182.     elemento = scrapertools.find_single_match(data, single)
  183.     xbmc.log("trovato:" + elemento)
  184.     matches = re.compile(patron, re.DOTALL).findall(elemento)
  185.     scrapertools.printMatches(matches)
  186.  
  187.     return matches
  188. #=================================================================
  189.  
  190. #-----------------------------------------------------------------
  191. def log(funzione="",stringa="",canale=__channel__):
  192.     if DEBUG:logger.info("[" + canale + "].[" + funzione + "] " + stringa)
  193.     xbmc.log("[" + canale + "].[" + funzione + "] " + stringa)
  194.  
  195. #=================================================================
  196.  
  197. #-----------------------------------------------------------------
  198. def HomePage(item):
  199.     xbmc.executebuiltin("ReplaceWindow(10024,plugin://plugin.video.streamondemand)")
  200. #=================================================================
  201.  
  202.  
  203. #=================================================================
  204. # riferimenti di servizio
  205. #-----------------------------------------------------------------
  206. AnimeThumbnail="http://img15.deviantart.net/f81c/i/2011/173/7/6/cursed_candies_anime_poster_by_careko-d3jnzg9.jpg"
  207. AnimeFanart="https://i.ytimg.com/vi/IAlbvyBdYdY/maxresdefault.jpg"
  208. CategoriaThumbnail="http://static.europosters.cz/image/750/poster/street-fighter-anime-i4817.jpg"
  209. CategoriaFanart="https://i.ytimg.com/vi/IAlbvyBdYdY/maxresdefault.jpg"
  210. CercaThumbnail="http://dc467.4shared.com/img/fEbJqOum/s7/13feaf0c8c0/Search"
  211. CercaFanart="https://i.ytimg.com/vi/IAlbvyBdYdY/maxresdefault.jpg"
  212. HomeTxt = "[COLOR yellow]Torna Home[/COLOR]"
  213. AvantiTxt="[COLOR orange]Successivo>>[/COLOR]"
  214. AvantiImg="http://2.bp.blogspot.com/-fE9tzwmjaeQ/UcM2apxDtjI/AAAAAAAAeeg/WKSGM2TADLM/s1600/pager+old.png"
Advertisement
Add Comment
Please, Sign In to add comment