maxbambi / plugin.video.raitv

Kodi plugin for RAI
GNU General Public License v3.0
36 stars 9 forks source link

Compatibilità Python 3 #9

Closed maxbambi closed 4 years ago

maxbambi commented 5 years ago

@cttynul, @fabpolli, ho provato a rimettere insieme un po' tutto ma ho problemi di compatibilità con Python 3... Dato che ho nell'installazione ubuntu, kodi 18 con tutti i plugin installati, mi sono installato una nigthly in windows. Con un po' di correzioni sono riuscito a far funzionare il plugin, ma ad una lentezza inspiegabile (e non sembra che faccia molta cache dei menu, visto che la lentezza rimane anche in seguito)

Se tutto il pacchetto di @cttynul ti funziona a velocità decenti senza problemi, forse dovrò ripartire come base da quello?

La cosa che mi preoccupa è che i tempi di inserimento nel repo sono lunghissimi e che potremmo stare a perdere tanto tempo ora per fare modifiche adesso, che si potrebbero rivelare inutili dopo le modifiche future di raiplay. Quindi per ora io rimango in attesa...

fabpolli commented 5 years ago

La versione che ho installato è quella di @cttynul e non noto rallentamenti nei menù, non ho guardato se vengono correttamente messi in cache. Per i punti due e tre (lettura html) io per gioco ho sviluppato un plugin per leggere i dati da un noto sito di dati meteo e documentandomi il consiglio che viene fornito in molti punti del forum di kodi è quello di usare urllib2 + BeautifulSoup. In questo modo non ho riscontrati problemi di decodifica e funziona bene sia in termini di velocità che di facilità nel reperire le informazioni, Es: sHtml = urllib2.urlopen(url).read() soup = BeautifulSoup(sHtml, 'html.parser') mydivs =soup.find_all('div', {"class": "row-table noPad"}) Essendo una strada da loro consigliata e supportata si potrebbe pensare anche di virare verso l'uso di BeautifulSoup, che tra l'altro è meno soggetto a fallimenti in caso di cambi nella pagina html. hai maggiori informazioni di quanto dovrebbero modificare il sito raiplay?

maxbambi commented 5 years ago

@fabpolli , grazie dei consigli... Per quanto riguarda raiplay ho solo letto la notizia di modifiche sul sito a fine ottobre... vedremo

fabpolli commented 5 years ago

Ho dato un occhiata alle notizie sul web, mi sa che hai ragione, conviene aspettare perché da quel che si capisce ci sono buone probabilità che si renda necessario effettuare il login con i dati di registrazione quindi se così fosse occorre una profondissima revisione del codice e delle funzionalità

maxbambi commented 5 years ago

@cttynul, @fabpolli Sono arrivate le modifiche sul sito di raiplay: la buona notizia è che non sono per adesso così distruttive della nostra struttura perché sono per lo più un restyling della grafica del sito. I file json relativi alle pagine dei programmi sono ancora accessibili modificando l'estensione da .html a .json (dunque c'è bisogno di piccole modifiche, ma nulla di trascendentale) Si è modificata la struttura del menu dei programmi on demand, che richiede un po' più di lavoro.

Con la prima modifica già si possono continuare a vedere i programmi da guida tv

fabpolli commented 5 years ago

Mi sbaglio o su moltissimi elementi adesso richiedono la registrazione?

maxbambi commented 5 years ago

@fabpolli prova dopo l'ultimo commit... io non ho trovato nulla di particolarmente rivoluzionario per adesso... alcune chiavi dei json sono state semplicemente tradotte in inglese!

maxbambi commented 5 years ago

Mi sbaglio o su moltissimi elementi adesso richiedono la registrazione?

Effettivamente se guardi nei json, per tanti video c'è la richiesta di login ed infatti nel browser ti appare il form di registrazione Schermata del 2019-10-30 18-23-58 Per quanto riguarda il plugin, per adesso sembra tutto funzionare come prima

maxbambi commented 5 years ago

@fabpolli , @cttynul ho creato un nuovo branch per fare le prove sulla compatibilità con Python 3.

Ho gestito il problema delle variabili di tipo stringa aggiungendo una funzione in utils che le converte nel caso siano unicode (in Python 2) oppure bytes (in Python 3).

Eseguendo il plugin con una nightly di kodi, ottengo ancora alcuni errori in StorageServer.py (sia nella versione locale che in quella della libreria ufficiale - io ho trovato al massimo la versione 2.5.10, che però è lungi da funzionare in py3). Dopo aver provato a correggerli, il plugin si avvia ma è di una lentezza spaventosa nella creazione dei menu. Anche se ho installato la nightly su Win10 per evitare di incasinarmi l'installazione di kodi18 in ubuntu, non posso attribuire tutta la lentezza al SO (anche se sicuramente contribuirà!). In più mi succede una cosa stranissima: quando all'interno di un menù clicco su '..' per tornare indietro, si ha l'impressione che il comando non sia stato compreso e poi dopo alcuni tentativi si esce completamente dal menu del plugin... Mah!

maxbambi commented 5 years ago

Adesso ho fatto un'installazione pulita di kodi 19 su ubuntu. Non c'è la lentezza dell'altro tentativo, mi sono apparsi altri errori (versioni diverse di python, mah?), ma ad esempio il menu funziona correttamente... Dobbiamo risolvere la storia della cache e poi si prova a fare una pull request sul kodi ufficiale

fabpolli commented 5 years ago

Mi spiace non aver avuto modo di provare questa nuova versione, non appena riesco provo e vedo se riesco ad aiutare

maxbambi commented 5 years ago

@fabpolli, @cttynul E' stata inviata una pull request https://github.com/xbmc/repo-scripts/pull/1208 per aggiornare nel repo ufficiale la famosa libreria script.common.plugin.cache alla versione 2.6.0. L'ho scaricata da github e con lei il plugin rai funziona egregiamente anche in python3... Non appena verrà approvato l'inserimento e ci risulterà scaricabile in automatico da kodi, provvederò anch'io alla pull request nel nostro plugin...

maxbambi commented 5 years ago

@fabpolli @cttynul, finalmente script.common.plugin.cache è stata aggiornata nel repo ufficiale di kodi, quindi possiamo passare a preparare una nostra versione da pubblicare... io sono un po' in difficoltà con la famiglia, ma vi chiedo di visionare la branch comp-python3 per cercare di migliorarla e di correggere eventuali errori. Dopo i test, proviamo a fare questa fatidica pull request e vediamo se raiplay ce la farà a tornare su kodi official

fabpolli commented 5 years ago

@maxbambi Ho fatto una nuova pull, ho aggiunto la traduzione di alcune stringhe che potevano dar problemi con la pull nel repo ufficiale. Oltre alla già citata possibilità di visualizzare tutti gli elementi di una categoria. Ho fatto un po' di giri nelle varie sezioni (no sezione radio) e mi sembra che tutto funzioni senza intoppi

fabpolli commented 5 years ago

Comunque non sono riuscito a trovare nessuna risorsa che non vada in play senza essermi loggato. Da browser mi chiede la login praticamente ovunque, nel plugin mi manda in play senza troppi problemi. Non so se sto sbagliano io o se la Rai fa il controllo lato client e quindi come in passato hanno dato in mano la cosa a qualche "cugggino che se ne capisce"

maxbambi commented 5 years ago

Comunque non sono riuscito a trovare nessuna risorsa che non vada in play senza essermi loggato. Da browser mi chiede la login praticamente ovunque, nel plugin mi manda in play senza troppi problemi. Non so se sto sbagliano io o se la Rai fa il controllo lato client e quindi come in passato hanno dato in mano la cosa a qualche "cugggino che se ne capisce"

Non riesco ad afferrare cosa ti preoccupa: che in futuro ci blocchino anche tramite plugin?

Comunque prova la nuova versione del branch compat-py3. Si cerca di correggere il più possibile e poi si crea una pull request ufficiale

fabpolli commented 5 years ago

Mi sono espreso male o comunque non ho dettagliato :) non mi preoccupa nulla, facevo riferimento ad un messaggio che hai postato sull'isse del repo di nightflyer dove accennavi alla eventualità di lavorare sulla parte che permetta di loggarsi nel sistema. Volevo dare un occhio a come poteva essere fatta ma se non trovo nulla che non vada in play per mancanza di login è superfluo e impossibile determinare se il login viene effettuato e mantenuto nel modo corretto. Riscarico la versione verifico

maxbambi commented 4 years ago

Ho provato a fare la pull request nel repo ufficiale e mi sono arrivate delle richieste di modifica (strano?). Appena possibile le effettuerò... Se volete seguire l'avventura https://github.com/xbmc/repo-plugins/pull/2629

fabpolli commented 4 years ago

Sbaglio o corrette le tre segnalazioni stanno mandando in merge nel repo ufficiale?

maxbambi commented 4 years ago

@fabpolli, l'obiettivo è quello! Intanto ho fatto un merge copiando il branch comp-python3 in master sul mio repo, poi ho effettuato la pull request su kodi-plugin... adesso ho effettuato le correzioni su comp-python3 (master è rimasto lo stesso) e inviato le correzioni sempre sullo stessa pull request di prima... adesso c'è da attendere: o nuove richieste oppure raiplay rientra finalmente nel repo ufficiale...

fabpolli commented 4 years ago

Mi son spiegato male, volevo solo la conferma di quel che avevo capito seguendo il link che avevi messo. L'obiettivo è diaro, se il plugin finalmente torna operativo nel repo ufficiale è una gran cosa!

fabpolli commented 4 years ago

@maxbambi @cttynul Hanno fatto il merge nel repo ufficiale circa 6 ore fa! Finalmente!

federicodisante commented 4 years ago

Grande @maxbambi! Complimenti e grazie! Ora mi tocca aggiornare a Krypton! ;) Lavoro da fare durante il periodo natalizio, come regalo per i bimbi di casa!

Il Gio 12 Dic 2019, 17:45 fabpolli notifications@github.com ha scritto:

@maxbambi https://github.com/maxbambi @cttynul https://github.com/cttynul Hanno fatto il merge nel repo ufficiale circa 6 ore fa! Finalmente!

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/maxbambi/plugin.video.raitv/issues/9?email_source=notifications&email_token=ACTEANRBYVKWW7DSNYEVUATQYJTBHA5CNFSM4JFN7HH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGXI2NY#issuecomment-565087543, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACTEANUMVXTWUZGYF4OO5MDQYJTBHANCNFSM4JFN7HHQ .

fabpolli commented 4 years ago

@maxbambi sai mica come funziona il porting del repo kryptonverso Leia? E' automatico?

maxbambi commented 4 years ago

@fabpolli, il plugin è scaricabile da tutte le versioni uguali o successive a quella dove ho inserito il plugin, quindi krypton, leia e matrix... teoricamente si poteva inserire anche più in giù (tipo isengard o jarvis) ma temevo di problemi con la libreria common.plugin.cache

fabpolli commented 4 years ago

@maxbambi in effetti su PC kodi b18 vedo il plugin nel repo ufficiale, mentre nell'installazione che ho su Rpi non vedo proprio il plugin, dovrò controllare qualcosa mi sfugge