Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Tutorial (un po' datato, del 2009) di Jesus relativo ad un sito russo, "tvfilmy".
- Lo pubblico tradotto in italiano per aiutare chi volesse cimentarsi nella creazione dei canali,
- nella speranza di vedere più materiale nella nostra lingua madre.
- Da qui è da dove sono partito io, il più delle cose le ho imparate sbagliando e provando e riprovando cambiando
- magari anche solo una virgola.
- 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.
- Buon divertimento.
- -----------------------------------------------------------------------------------------------------------------------------------------
- 1) Aggiungere il nuovo canale in channelselector.py. Questo script mostra l'elenco dei canali, e vedrete i canali attuali in questo modo:
- Code: Select all
- addfolder("Pintadibujos","pintadibujos","mainlist")
- addfolder("DeLaTV","delatv","mainlist")
- addfolder("Yotix.tv","yotix","mainlist")
- Si noti che il primo parametro è il nome "visivo", e il secondo parametro è il nome interno. Questo nome interno è molto importante.
- Il terzo parametro è la funzione in ogni canale che inizia il proccesso (vedi sopra)
- Nel caso sarà:
- Code: Select all
- addfolder("tvfilmy.pl","tvfilmy","mainlist")
- 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.
- Code: Select all
- tvfilmy.png
- 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.
- Copia e incolla pintadibujos.py, ad esempio, una delle più recenti e dei canali più facili.
- Code: Select all
- tvfilmy.py
- 4) All'inizio del file, modificare la variabile ChannelName di avvio con il nome del tuo canale
- Code: Select all
- CHANNELNAME = "tvfilmy"
- 5) E ora la parte più difficile. La prima funzione "mainlist" ottiene la prima pagina per mostrarla quando si entra nel canale.
- E' richiamata da channelselector, quindi il processo comincia qui. Modifica l'URL di partenza.
- Code: Select all
- url = "http://www.tvfilmy.pl/"
- Modifica l'espressione regolare, al fine di estrarre l'elenco dei video.
- Code: Select all
- patron = '<div class="featuredItem">[^<]+'
- matches = re.compile(patron,re.DOTALL).findall(data)
- Nella prima pagina del sito, è possibile vedere che ogni film presenta questo blocco HTML:
- Code:
- <div class="middle"><div class="text">
- <p><a href="index.php?p=ogladaj&id=1551" title="Tsotsi / Thug [2005] Lektor" ><img src="images/1240658045_Tsotsi (2005) lektor.jpg"
- Qui avete tutto il necessario. Link alla pagina di film ("index.php?p=ogladaj&id=1551"), il titolo ("Tsotsi / Thug [2005] Lektor")
- e la miniatura ("images/1240658045_Tsotsi (2005) lektor.jpg").
- La vostra espressione regolare dovrebbe essere qualcosa di simile:
- Code:
- match[0] match[1] match[2]
- patron='<div class="middle"><div class="text">[^<]+<p><a href="([^"]+)" title="([^"]+)" ><img src="([^"]+)"
- Non posso fare qui un tutorial sulle espressioni regolari, ma ecco qualche dritta:
- Il frammento [^<]+ significa continua fino a che non trovi il carattere <
- il frammento [^"]+ significa continua fino a che non trovi il carattere "
- Quando metti qualcosa tra "(" e ")" (tra parentesi), stai marcando qualcosa che ti serve estrarre in seguito
- 6) Ora la parte dell' estrazione: Ci sono 4 variabili che è necessario compilare, utilizzando i risultati dell'espressione di cui sopra.
- Tutti i risultati per ogni film vengono memorizzati in un array chiamato chiamato match, quindi devi solo dare ad ognuno il valore corretto.
- Match[0] è il primo valore tra parentesi, match[1] secondo, ecc. Nel caso di tvfilmy:
- # Titotlo del film nella lista
- scrapedtitle = match[1]
- # Url alla pagina dei dettagli del film (l'esempio è relativo all'url attuale / reale)
- scrapedurl = urlparse.urljoin(url,match[0])
- # Miniatura per il film (l'esempio è relativo all'url attuale / reale)
- scrapedthumbnail = urlparse.urljoin(url,match[2])
- # Plot for the movie / Trama del film
- scrapedplot = ""
- 7) Aggiungere alla lista. Se hai trovato un film, l'ultimo passo è quello di aggiungerlo alla lista. Utilizzare la funzione "xbmctools.addnewfolder"
- 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.
- xbmctools.addthumbnailfolder( CHANNELNAME , scrapedtitle , scrapedurl , scrapedthumbnail, "detail" )
- 8) Il resto del processo per tvfilmy è facile. I dettagli della stessa funzione utilizzata da pintadibujos dovrebbe funzionare per tvfilmy,
- perché utilizza i connettori video di pelisalacarta. Dovrebbero individuare tutti i video nella pagina:
- listavideos = servertools.findvideos(data)
- 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.
- xbmctools.addvideo( CHANNELNAME , "Megavideo - "+video[0] , video[1] , category , video[2] )
- 10) La funzione play lancia il player:
- xbmctools.playvideo(CHANNELNAME,server,url,category,title,thumbnail,plot)
- Da qui in poi, devi solo fare tanti test
- Quando sviluppo i miei plugins, cambio la risoluzione di kodi a 640*480 in finestra.
- In questo modo posso navigare nel plugin mentre controllo il log guardando cosa succede.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement