Advertisement
Guest User

Tutorial Pelisalacarta

a guest
Jul 21st, 2015
628
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.66 KB | None | 0 0
  1. Tutorial (un po' datato, del 2009) di Jesus relativo ad un sito russo, "tvfilmy".
  2.  
  3. Lo pubblico tradotto in italiano per aiutare chi volesse cimentarsi nella creazione dei canali,
  4. nella speranza di vedere più materiale nella nostra lingua madre.
  5.  
  6. Da qui è da dove sono partito io, il più delle cose le ho imparate sbagliando e provando e riprovando cambiando
  7. magari anche solo una virgola.
  8.  
  9. Non conosco nè il python nè l'html, ma con un po' d'intuito e voglia di fare alla fine qualcosa lo sono riuscito a fare.
  10.  
  11. Buon divertimento.
  12. -----------------------------------------------------------------------------------------------------------------------------------------
  13.  
  14. 1) Aggiungere il nuovo canale in channelselector.py. Questo script mostra l'elenco dei canali, e vedrete i canali attuali in questo modo:
  15.  
  16. Code: Select all
  17. addfolder("Pintadibujos","pintadibujos","mainlist")
  18. addfolder("DeLaTV","delatv","mainlist")
  19. addfolder("Yotix.tv","yotix","mainlist")
  20.  
  21. Si noti che il primo parametro è il nome "visivo", e il secondo parametro è il nome interno. Questo nome interno è molto importante.
  22. Il terzo parametro è la funzione in ogni canale che inizia il proccesso (vedi sopra)
  23.  
  24. Nel caso sarà:
  25.  
  26. Code: Select all
  27. addfolder("tvfilmy.pl","tvfilmy","mainlist")
  28.  
  29. 2) Creare e mettere un logo per il nuovo canale nella directory "resources / images", con il nome interno come il nome del file e l'estensione PNG.
  30.  
  31. Code: Select all
  32. tvfilmy.png
  33.  
  34. 3) Creare un nuovo file per il tuo canale nella directory canali, con il nome interno come nome del file. E 'meglio utilizzare un canale esistente come riferimento.
  35. Copia e incolla pintadibujos.py, ad esempio, una delle più recenti e dei canali più facili.
  36.  
  37. Code: Select all
  38. tvfilmy.py
  39.  
  40. 4) All'inizio del file, modificare la variabile ChannelName di avvio con il nome del tuo canale
  41.  
  42. Code: Select all
  43. CHANNELNAME = "tvfilmy"
  44.  
  45. 5) E ora la parte più difficile. La prima funzione "mainlist" ottiene la prima pagina per mostrarla quando si entra nel canale.
  46. E' richiamata da channelselector, quindi il processo comincia qui. Modifica l'URL di partenza.
  47.  
  48. Code: Select all
  49. url = "http://www.tvfilmy.pl/"
  50.  
  51. Modifica l'espressione regolare, al fine di estrarre l'elenco dei video.
  52.  
  53. Code: Select all
  54. patron = '<div class="featuredItem">[^<]+'
  55. matches = re.compile(patron,re.DOTALL).findall(data)
  56.  
  57. Nella prima pagina del sito, è possibile vedere che ogni film presenta questo blocco HTML:
  58.  
  59. Code:
  60. <div class="middle"><div class="text">
  61. <p><a href="index.php?p=ogladaj&id=1551" title="Tsotsi / Thug [2005] Lektor" ><img src="images/1240658045_Tsotsi (2005) lektor.jpg"
  62.  
  63. Qui avete tutto il necessario. Link alla pagina di film ("index.php?p=ogladaj&id=1551"), il titolo ("Tsotsi / Thug [2005] Lektor")
  64. e la miniatura ("images/1240658045_Tsotsi (2005) lektor.jpg").
  65.  
  66. La vostra espressione regolare dovrebbe essere qualcosa di simile:
  67.  
  68. Code:
  69. match[0] match[1] match[2]
  70. patron='<div class="middle"><div class="text">[^<]+<p><a href="([^"]+)" title="([^"]+)" ><img src="([^"]+)"
  71.  
  72. Non posso fare qui un tutorial sulle espressioni regolari, ma ecco qualche dritta:
  73.  
  74.  
  75.  
  76. Il frammento [^<]+ significa continua fino a che non trovi il carattere <
  77.  
  78. il frammento [^"]+ significa continua fino a che non trovi il carattere "
  79.  
  80. Quando metti qualcosa tra "(" e ")" (tra parentesi), stai marcando qualcosa che ti serve estrarre in seguito
  81.  
  82.  
  83. 6) Ora la parte dell' estrazione: Ci sono 4 variabili che è necessario compilare, utilizzando i risultati dell'espressione di cui sopra.
  84. Tutti i risultati per ogni film vengono memorizzati in un array chiamato chiamato match, quindi devi solo dare ad ognuno il valore corretto.
  85. Match[0] è il primo valore tra parentesi, match[1] secondo, ecc. Nel caso di tvfilmy:
  86.  
  87.  
  88. # Titotlo del film nella lista
  89. scrapedtitle = match[1]
  90.  
  91. # Url alla pagina dei dettagli del film (l'esempio è relativo all'url attuale / reale)
  92. scrapedurl = urlparse.urljoin(url,match[0])
  93.  
  94. # Miniatura per il film (l'esempio è relativo all'url attuale / reale)
  95. scrapedthumbnail = urlparse.urljoin(url,match[2])
  96.  
  97. # Plot for the movie / Trama del film
  98. scrapedplot = ""
  99.  
  100. 7) Aggiungere alla lista. Se hai trovato un film, l'ultimo passo è quello di aggiungerlo alla lista. Utilizzare la funzione "xbmctools.addnewfolder"
  101. e specifica dove andare se l'utente seleziona questo film. In questo caso si può avere una seconda funzione "dettaglio", come nel caso del canale pintadibujos.
  102.  
  103. xbmctools.addthumbnailfolder( CHANNELNAME , scrapedtitle , scrapedurl , scrapedthumbnail, "detail" )
  104.  
  105.  
  106. 8) Il resto del processo per tvfilmy è facile. I dettagli della stessa funzione utilizzata da pintadibujos dovrebbe funzionare per tvfilmy,
  107. perché utilizza i connettori video di pelisalacarta. Dovrebbero individuare tutti i video nella pagina:
  108.  
  109.  
  110. listavideos = servertools.findvideos(data)
  111.  
  112.  
  113.  
  114. 9) Tutti i video che riesce a trovare sono aggiunti alla lista, con la funzione "play", come passo successivo quando un utente ne seleziona uno.
  115.  
  116. xbmctools.addvideo( CHANNELNAME , "Megavideo - "+video[0] , video[1] , category , video[2] )
  117.  
  118.  
  119. 10) La funzione play lancia il player:
  120.  
  121.  
  122. xbmctools.playvideo(CHANNELNAME,server,url,category,title,thumbnail,plot)
  123.  
  124. Da qui in poi, devi solo fare tanti test
  125. Quando sviluppo i miei plugins, cambio la risoluzione di kodi a 640*480 in finestra.
  126. In questo modo posso navigare nel plugin mentre controllo il log guardando cosa succede.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement