-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Errore recupero programmi Replay #51
Comments
Ciao, vista l'assenza dello sviluppatore, in attesa che ritorni, ho deciso di forkare e mantenere un progetto parallelo a questo link https://github.com/cttynul/plugin.video.raitv ho testato poco fa tutte le funzioni e sembra rispondere correttamente, puoi provare se succede lo stesso anche sulla mia versione? Ed eventualmente farmi presente i passaggi da te effettuati? |
Certamente, farò la prova, e ti farò sapere, ho visto che l'anomalia mi si presentava solo per i giorni dopo venerdì scorso. Comparerò il plugin attivo adesso con la tua versione, e ti faccio sapere. Grazie |
Ho installato la tua verione forkata, è più completa sotto il punto di vista della sezione on demand ma accedendo alla sezione Relay TV per la giornata di Domenica 29 Settembre ad esempio (ma anche Sabato) tentando di recupeare la lista di un canale (Es. Rai 2) riporta errore e nel log trovo: Per i giorni antecedenti Giovedì invece i programmi vengono recuperati correttamente e si possono visualizzare senza problemi |
Il JSON chiamato risulta vuoto in alcuni giorni: https://www.raiplay.it/dl/palinsesti/Page-e120a813-1b92-4057-a214-15943d95aa68-json.html?canale=Rai1&giorno=28-09-2019 Probabilmente sarà cambiato l'URL per la richiesta del palinsesto replay, appena potrò farò un po' di reverse su Raiplay per cercare di fixarlo, grazie per la segnalazione! |
Se posso aiutare volentieri lo faccio, credo che sia un problema rai, modificando la data il JSON viene restituito in modo corretto (tipo il 23/09/2019), quello che si potrebbe fare è notificare la cosa in modo differente rispetto all'errore nel log in caso di JSOn vuoto. |
Se capisco come diavolo fare reverse engineering potrei dare una mano anch'io, solo che sono un dev .net, di Python non ci capisco nulla (prima o poi...) Cosa usate per fare reverse? Whireshark o Fiddler? Ed essendo la richiesta https si riesce lo stesso a sniffare? |
Con il fork MaxBambi Replay funziona, confronta i file. |
@energywave io per il reverse di solito uso fiddler, credo sia l'unico sniffer a fare da man in the middle che riesca a forzare il contenuto SSL-strict. Tuttavia in questo caso non è necessario visto che tra le varie chiamate messe da dispositzione da RaiPlay ce n'è una con la lista di tutte le varie API. @nx-99 grazie per la segnalazione, da un lato sono felice che ci sia qualcun altro che lavori al progetto. Negli ultimi tempi mi sono dato al supporto della riscrittura di tutti i maggiori addon italiani, per renderli compatibili con l'imminente versione di Kodi 19, potete vedere i miei contributi anche con gli addon di Dplay (NeverWise/plugin.video.dplay#22) e Mediaset Play (NeverWise/plugin.video.dplay#22) |
@cttynul lodevole lavoro, visto che parli di addon italiani da sistemare, ti segnalo che anche nightflyer73/plugin.video.corrieretv ha smesso di funzionare. |
Ho confrontato i due ropo, in effetti quello di max non accede al JSON ma alla pagina html e cerca i tag li per recuperare le info, il percorso usato è: https://www.raiplay.it/palinsesto/guidatv/lista/[idCanale]/[dd-mm-yyyy].html mentre quello originale e quello di cttnul richiede il JSON https://www.raiplay.it/palinsesto/app/old/[nomeCanale]/[dd-mm-yyyy].json che mi pare la soluzione più efficiente anche se quell'old nel percorso della rau non mi fa ben sperare per il futuro. |
Si, ho visto anch'io che quello di max fa lo scraping dell'html. Certo da programmatore il json mi sembra molto molto meglio (e soprattutto non si rischia che cambino una virgola nell'HTML e non funzioni più nulla...) Ad ogni modo l'errore suppongo sia durante il parse dei dati del JSON non durante la richiesta in se quindi la tua proposta finale equivale ad usare la versione di max. L'errore era di indice non compreso nell'intervallo. Potrebbe essere un valore non previsto da un'array di possibilità...? |
|
@fabpolli in effetti non volevo fare lo switch dell'url così di brutto, specie perché, come te, quell'"old" nell'url dell'API è tutto meno che incoraggiante, avevo pensato, addirittura di dare una nuova linfa all'intero script andando a recuperare i vari URL delle chiamate, dal JSON principale che racchiude tutte le chiamate. @energywave purtroppo quell'errore nel JSON è dovuto al fatto che, non so per quale motivo, la chiamata vada a buon fine sì, ma restituisca un array vuoto: https://www.raiplay.it/dl/palinsesti/Page-e120a813-1b92-4057-a214-15943d95aa68-json.html?canale=Rai1&giorno=28-09-2019 @nx-99 hai qualche altro addon italiano da "consigliare" oltre a quello del Corriere? |
@cttynul solo quello. |
@cttynul non appena posso aggiorno l'addon nel raspy e verifico se da problemi, ho visto anche sul repo si maxbambi che ha una voce in più credo, quando posso controllo cosa fa e al limite te la sottopongo per mergiare anche quella se la ritieni interessante. |
Ragazzi grazie mille di aver preso in mano questo plug-in, avete risolto un mio problema perché mia mamma è una heavy user di questo plugin e quando non va... |
@fabpolli se vuoi installare l'addon in una maniera più user friendly puoi utilizzare il mio repository, aggiornato alla versione di ieri. |
Io ho collaudato l'addon sul mio raspberry pi 2 e funziona egregiamente, ottimo! Devo mettermi ad imparare python... |
Mi inserisco nella vostra discussione.... anch'io avrei preferito mantenere la lettura dei dati attraverso json, ma le url che avevo a disposizione non funzionavano (o davano risposta vuota oppure - ancora più buffo - restituivano un elenco incompleto) Il passaggio all'html è arrivato quando ho visto che il json ottenuto da
ma l'url indicata non restituisce un file json, ma una pagina html (forse c'è un trucco attraverso gli header giusti, ma tutti gli altri indirizzi funzionano correttamente!) Allora ho trovato, non senza sofferenza informatica, la soluzione con l'html, ovviamente nell'ipotesi di ritornare al json appena fosse saltato fuori un indirizzo funzionante... Altre osservazioni:
|
@maxbambi è bello che ti sia unito anche tu alla discussione dato che sei, sicuramente, tra i più attivi nello sviluppo e nel mantenimento dell'addon! L'url da te citato, per quel che possa valere ridireziona qui https://www.raiplay.it/guidatv/Page-e120a813-1b92-4057-a214-15943d95aa68-lista.html?json diciamo che è un serpente che si morde la coda! Interessante l'idea di ampliare l'offerta aggiungendo anche gli eventi di Rai Sport (alla luce dei diritti acquistati di recente direi valga assolutamente la pena poterne fruire tramite un addon), purtroppo essendo Rai Sport una web app scollegata da Rai Play suppongo risponda ad API diverse. CVD, sparando un po' alla cieca sono riuscito a recuperare qualche JSON a destra e a manca, purtroppo arrivare alla root delle API (ammesso che esista) è un tantinello ostico, tuttavia il funzionamento del portale è totalmente identico a quello di Rai Play, questo ad esempio è il JSON a cui si appoggia la sezione calcio https://pastebin.com/ZyazZyeF ho testato al volo e la visione dei contenuti ed è possibile. L'URL a cui fa riferimento quella chiamata è questa: https://www.raisport.rai.it/atomatic/news-search-service/api/v1/search?transform=false tuttavia la richiesta effettuare non è una GET bensì una POST. Ci si può lavorare un po' e magari la sezione sport potrebbe subire un'evoluzione non indifferente! PS. A livello organizzativo dello sviluppo, anche perché si tratta del "lavoro della domenica" essendo uno di quelli che odia lo sviluppo parallelo, credo che per te vada bene se lavoriamo e contribuiamo ciascuno al repository dell'altro, ho sempre pensato che i lavori collaborativi facciano bene alla community e pare che questo addon ne abbia una anche attiva su Github! |
@cttynul ovviamente non ho problemi a collaborare, né a mettere a disposizione il mio codice... sarebbe opportuno individuare un repo che svolga il ruolo di "ufficiale", in modo che i contributi possano convergere tutti in una stessa direzione e si possa monitorare l'avanzamento del lavoro... |
Vorrei ringraziare @nightflyer73, @cttynul e @maxbambi per l'ottimo lavoro. Ho appena installato la versione 3.0.1 e finalmente il mio piccolo può tornare a guardare i suoi cartoni su raireplay. Grazie di cuore! |
Aggiungo io: sarebbe opportuno far puntare gli addon installabili da kodi ai nuovi repo. L'utente comune installa l'addon Rai Play, errore, "oh che cavolo, non va mai niente" e disinstalla. Bisogna rendere fruibile a tutti il vostro lavoro :) |
In realtà, qualche giorno fa, ho provato a ripubblicare la mia nuova versione del plugin RaiOnDemand nel repo ufficiale di Kodi, ho fatto la richiesta di merge, ma non ho ancora ricevuto risposta... aspetto con pazienza, ma penso che sia meglio semplicemente prendere contatti con i siti italiani di plugin per kodi |
Non ho la più pallida idea di come funzioni il repo di kodi sotto l'aspetto di "selezione" dei plugin da includere e manutenere, mi sto approcciando la prima volta con questo mondo, sicuro sarebbe importante che il lavoro che avete svolto sia incluso nella parte ufficiale a beneficio degli utenti, sarebbe auspicabile però far cinvergere tutte le modifiche fatte da @cttynul e @maxbambi in un unico progetto da portare avanti, credo sarebbe valutato meglio anche da chi deve scegliere quale repo puntare come ufficiale |
Con una settimana di ritardo, qualcuno mi ha risposto sulla 'pull request'. |
@maxbambi e @cttynul mi sono permesso di scaricare ambedue i repo e li ho mergiati manualmente. Altra cosa che non ho fatto e quella di modificare la versione di python richiesta per l'esecuzione, non sapevo esattamente quale fosse la versione 3 da indicare |
grazie @fabpolli del lavoro... soltanto ti chiedo di pazientare per il merge perché ho almeno tre versioni diverse fra pc e remoto. |
Io non ho nessuna fretta, per quel che serve a me il plugin va perfettamente! |
Hai controllato la mia ultima versione sul mio fork? |
@maxbambi @cttynul purtroppo l'addon da oggi non funziona più, non si apre nemmeno, vi allego il log, spero possiate risolvere. Grazie per il vostro lavoro. 2019-11-04 10:53:40.367 T:3607217024 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--[/COLOR] |
@maxbambi @cttynul @tomax80 confermo l'errore su LibreELEC 8.2.5 su RaspBerry 2.
12:38:33.595 T:1945477696 ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://plugin.video.raitv/?path_id=%2Fvideo%2F2017%2F09%2FBarbapapa---S1E11---Il-Problema-Della-Casa-78a7f969-f2b8-4840-a36f-0fe3c00dcdeb.html%3Fjson&mode=play]> |
@maxbambi @cttynul @tomax80 ho avuto il tempo di provare a scrivere una patch che pare funzionare. Ho forkato il repository di @cttynul e creato una pull request. Chiedo alla community di testare la patch ed @cttynul di revisionarla (non so se bisogna fare qualcosa anche per la parte radio del plugin!!!) ed eventualmente integrarla. |
@maxbambi io ho installato ieri il plugin dal tuo repo su un reaspberry 3 e funziona bene, provato a riprodurre dei programmi replay random, naviga e riproduce correttamente. |
Sono perfettamente d'accordo anch'io sul fatto che c'è bisogno di creare un repo ufficiale da usare come master. Il mio obiettivo adesso è di cercare di creare un plugin funzionante con i contributi di tutti, attendere la fine della fase transitoria, verificare la compatibilità con python 3 e effettuare una pull request definitiva. Per quanto riguarda script.module.addon.common, in precedenza era indicata la dipendenza da tale liberia nel file addon.xml, poi l'avevo tolta perché incompatibile con python 3 e sostituita con le librerie forkate aggiunte da @cttynul al pacchetto del plugin. Se si presenta l'errore, significa che da qualche parte c'è ancora l'import sbagliato (controllerò). |
@maxbambi @cttynul @federicodisante @energywave Il problema in effetti era una mancata dipendenza, l'addon Common Plugin Cache. Avendo fatto un'installazione pulita di CoreElec sul mio tv box , tale addon non era presente. Ora che l'ho installato è tornato a funzionare a meraviglia. Grazie a tutti! |
Ah ecco, grazie per la precisazione, l'addon mancante era quello: script.common.plugin.cache . Ho aggiornato il mio commento sopra con il nome giusto. |
@maxbambi @cttynul @federicodisante @energywave Mi sono messo al lavor per cercare un fix dopo la segnalazione di @tomax80, non avendo visto che sul repo di @maxbambi si era arrivati alla versione 3.3.5 ((github hash commit a57411 ). Non sono molto esperto di plugin kodi, quindi non saprei esprimermi sulla necessità di avere già installato l'addon Common Plugin Cache. In casa ho tre installazioni, una per ogni televisore ed effettivamente sarebbe comodo non dover installare a mano il plugin ad ogni modifica. |
L'import è stato modificato correttamente, ma nel file StorageServer.py modificato che ho preso da @cttynul c'è ancora la linea Eppure lo stesso @cttynul aveva commentato su addon.xml Dunque se si vuol far funzionare tutto, attualmente c'è bisogno di aggiungere nel file addon.xml ma poi dovremo trovare una soluzione definitiva alla compatibilità con Python 3, perché senza py3 il plugin è destinato a non funzionare con i kodi futuri e neppure viene fatto entrare nel repo ufficiale. |
Scusate per l'assenza! @federicodisante io ho un repository con tutti gli addon che mantengo però, purtroppo, trattandosi di qualcosa che faccio a tempo perso, purtroppo, non sempre riesco a starci dietro con una certa costanza, correggerò questo piccolo refuso con un rebase della fork di Max. |
Purtroppo l'addon non funziona più, questo è il log: 2019-11-13 15:54:27.044 T:3699872640 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<--[/COLOR] |
@tomax80 Che versione hai? Perché con l'ultima versione (3.3.9 ) il problema dovrebbe essere corretto |
Mi ero perso quell'aggiornamento, grazie mille ora funziona
Il mer 13 nov 2019, 16:19 Max <[email protected]> ha scritto:
… Purtroppo l'addon non funziona più, questo è il log:
2019-11-13 15:54:27.044 T:3699872640 ERROR: EXCEPTION Thrown
(PythonToCppException) : -->Python callback/script returned the following
error<--[/COLOR]
- NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS![/COLOR]
Error Type: <type 'exceptions.IndexError'>[/COLOR]
Error Contents: list index out of range[/COLOR]
Traceback (most recent call last):[/COLOR]
File "/storage/.kodi/addons/plugin.video.raitv/default.py", line 46,
in [/COLOR]
raisport_keys = cache.cacheFunction(RaiPlay().fillRaiSportKeys)[/COLOR]
File
"/storage/.kodi/addons/plugin.video.raitv/resources/lib/StorageServer.py",
line 577, in cacheFunction[/COLOR]
ret_val = funct(*args)[/COLOR]
File
"/storage/.kodi/addons/plugin.video.raitv/resources/lib/raiplay.py", line
105, in fillRaiSportKeys[/COLOR]
title=dataTematica[0].split('|')[0][/COLOR]
IndexError: list index out of range[/COLOR]
-->End of Python script error report<--[/COLOR]
2019-11-13 15:54:27.133 T:3612341120 ERROR: GetDirectory - Error
getting plugin://plugin.video.raitv/?content_type=audio[/COLOR]
2019-11-13 15:54:27.136 T:4064108560 ERROR:
CGUIMediaWindow::GetDirectory(plugin://plugin.video.raitv/?content_type=audio)
failed[/COLOR]
@tomax80 <https://github.com/tomax80> Che versione hai? Perché con
l'ultima versione (3.3.9 ) il problema dovrebbe essere corretto
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#51?email_source=notifications&email_token=AFMQNMHTXIKZ2UUQG4HHHK3QTQLI7A5CNFSM4I3XETNKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOED6PP3I#issuecomment-553449453>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFMQNMES5RGHCM2LFQLXYBDQTQLI7ANCNFSM4I3XETNA>
.
|
@tomax80 |
@maxbambi sarebbe veramente comodo 👍 |
Ciao @fabpolli :-) Anche io sono autore di due plugin kodi, da un lato avere un unico repo italiano è interessante, dall'altro però già gli utenti sono pochi, se non si entra nel repo ufficiale non si raggiungono mai tutti gli interessati. |
@Testato, nel mio fork c'è già un branch per la compatibilità a python 3... |
Ciao @Testato interessi comuni vedo :-) Mi sono accordo l'altra sera che manca una funzionalità abbastanza importante (secondo me) una visualizzazione dell'On-demand più pratica. Mi spiego meglio, c'è il cerca ok ma se non conosco il titolo e voglio vedere l'offerta devo navigare in tutte le cartelle messe in ordine alfabetico, @maxbambi @cttynul che ne pensate della possibilità di aggiungere dentro ad ogni classificazione prima di [0 - 9] un [Tutti] come nel menù precedente? Se lo ritenete percorribile come idea, provo a implementarla. |
@fabpolli, |
Da ieri appare un errore nel tentativo di accedere ai programmi di raireplay con segnalazione d'errore di indice non valido nell'array. Dal log non è chiaro se è un problema di parametri di chiamata al servizio o se questo sta rispondendo in modo non conforme a quanto si aspetta lo script
The text was updated successfully, but these errors were encountered: