Android Question Traslate Python to B4A

MarcoRome

Expert
Licensed User
Longtime User
Hi all, i have this code in python:


B4X:
DEV_KEY = 'XXXXXEEERR'
 
s1 = Server('http://sito.mio.it/ws/xml/autenticazione/1')
s2 = Server('http://sito.mio.it/ws/xml/pallone/7')
 
token = s1.autenticazione.Accedi(DEV_KEY, '')
 
res = s2.paline.Previsioni(token, '70101', 'it')
 
 
pprint(res)

traslate to B4A ???

Thank you anyway
 

MarcoRome

Expert
Licensed User
Longtime User
solution:

1) Add Library XMLRPC

B4X:
Sub Activity_Create(FirstTime As Boolean)
    If FirstTime Then
        XMLRPC1.Initialize("XMLRPC1")
        XMLRPC2.Initialize("XMLRPC2")
    End If
'Token
XMLRPC1.initXMLRPCClient("http://sito.mio.it/ws/xml/autenticazione/1")
Dim vedi As String = XMLRPC1.objectCall2("autenticazione.Accedi","XXXXXX","")
Log(vedi) ' First Result Token

'Get method
XMLRPC2.initXMLRPCClient("http://sito.mio.it/ws/xml/pallone/7")
Dim previsioni As String  = XMLRPC2.objectCall3("paline.Previsioni",vedi,"70101","it")
Log(previsioni) ' You have result
Dim percorsi As String  = XMLRPC2.objectCall3("paline.ProssimaPartenza",vedi,"70101","it")
Log(percorsi) ' Another Result

Bye
 
Upvote 0

MarcoRome

Expert
Licensed User
Longtime User
Work but no as i want .... you can try this code about your device :
this is code :

B4X:
Sub Globals
    'These global variables will be redeclared each time the activity is created.
    'These variables can only be accessed from this module.
    Dim XMLRPC1 As XMLRPC
    Dim XMLRPC2 As XMLRPC

End Sub

Sub Activity_Create(FirstTime As Boolean)
    If FirstTime Then
        XMLRPC1.Initialize("XMLRPC1")
        XMLRPC2.Initialize("XMLRPC2")
    End If
'Preleva Token
XMLRPC1.initXMLRPCClient("http://muovi.roma.it/ws/xml/autenticazione/1")
Dim vedi As String = XMLRPC1.objectCall2("autenticazione.Accedi","QCOT7MBQwaC8dQI3BcVEC58kTCeriOOi","")
Log(vedi)

'Preleva Tempo Bus sulla Palina
XMLRPC2.initXMLRPCClient("http://muovi.roma.it/ws/xml/paline/7")
Dim previsioni As Object  = XMLRPC2.objectCall3("paline.Previsioni",vedi,70101,"")
Log(previsioni) ' i wait that here return value

in Log Previsioni i have this result:
{id_richiesta=11d4dc1182cc01abde46f3a23c362914, risposta={primi_per_palina=[Ljava.lang.Object;@41b52ac0, arrivi=[Ljava.lang.Object;@41b50fd0, nome=LGT GIANICOLENSE/REGINA COELI, collocazione=LTV GIANICOLENSE, 70 M. PRIMA SBOCCO PONTE MAZZINI}}



if you read the documentation return is:

B4X:
paline.Previsioni(string token, int id_palina, string lingua)
Descrizione
Questo metodo restituisce le previsioni di arrivo alla palina id_palina, organizzate come nel sito muovi.roma.it.

Input
string token: identificativo per gli utenti autorizzati
int id_palina: numero della palina richiesta
string lingua: codice della lingua, utilizzato per dare informazioni sulle disabilitazioni se e solo se disponibili nella lingua richiesta
Output
L'output è un dizionario così composto:
string nome: nome della palina richiesta
bool abilitata: palina attualmente abilitata alle previsioni di arrivo
int id_news: se è disponibile una news che spiega perché la palina è disabilitata, l'id di tale news; altrimenti -1
string collocazione: collocazione della palina
list veicoli: previsioni dei veicoli in arrivo, ordinati per tempo di arrivo
list primi_per_palina: informazioni sulle linee che transitano per ciascuna delle paline (in quanto è possibile definire gruppi composti da più paline). Per ogni linea è riportato l'eventuale primo veicolo in arrivo. Ciascun elemento della lista è un dizionario così composto:
string id_palina: id della palina
string nome_palina: nome della palina
list arrivi: lista delle linee e degli eventuali veicoli in arrivo, ordinati per linea
Ogni elemento delle liste arrivi (sia dell'elenco complessivo degli arrivi, sia dei primi arrivi per palina) è un dizionario così composto:
string linea: il codice della linea
string id_palina: id della palina per cui è fornita la previsione (utile per previsioni su gruppi di paline)
string nome_palina: nome della palina per cui è fornita la previsione (utile per previsioni su gruppi di paline)
bool non_monitorata: definito e True sse per la linea non sono disponibili previsioni in tempo reale sugli arrivi. Se vale True, non sono definiti gli elementi che seguono
bool nessun_autobus: definito e True sse nessun autobus è in arrivo per la linea. Se vale True, non sono definiti gli elementi che seguono
bool disabilitata: True sse le previsioni di arrivo sono temporaneamente disabilitate per la linea
int id_news: se le previsioni di arrivo sono disabilitate, id della news sulla disabilitazione (se disponibile), oppure -1
string id_percorso: l'identificatore del percorso (oppure elemento non definito)
string destinazione: nome del capolinea di destinazione del percorso (oppure elemento non definito)
string carteggi: i carteggi del percorso
string carteggi_dec: i carteggi del percorso, decodificati
string capolinea: il capolinea di destinazione del percorso
string partenza: orario di partenza dal capolinea (definito solo per bus a capolinea)
string annuncio: l'annuncio prodotto dal servizio InfoTP, es.: 2 Fermate (2')'
bool meb: presenza della MEB
bool pedana: presenza della pedana disabili
bool moby: presenza di Moby
bool aria: presenza del condizionatore d'aria
bool a_capolinea: true sse l'autobus è a capolinea
bool in_arrivo: true sse l'autobus è in arrivo
int tempo_attesa: tempo di attesa previsto, espresso in secondi (se l'autobus non è a capolinea)
int distanza_fermate: numero di fermate di distanza fra il bus e la fermata richiesta (se l'autobus non è a capolinea)
int id_veicolo: numero identificativo del veicolo

in the my result i see only:
string nome: nome della palina richiesta
string collocazione: collocazione della palina

why ?? where i wrong ?
Thank you all
 
Upvote 0
Cookies are required to use this site. You must accept them to continue using the site. Learn more…