[Gfoss] Suggerimenti per utilizzare qgis20 api check

Salve a tutti,
ho visto l’interessante api check per passare dai plugin di Qgis 1.8 a 2.0, l’ho scaricato e fatto una prova al volo, inserendo un path ad un mio plugin ma non ricevo errori.
Essendo sicuro al 100% che il mio plugin nn è compatibile con la 2.0, mi chiedo dove stia l’inghippo.
Qualcuno lo ha già usato e ha qualche suggerimento nell’uso?

Vedo che anche se gli si da un path fasullo non ritorna errori, quindi mi chiedo se manchi qualcosina nel codice.

Ciao a tutti
Luca

il check e' un grep brutale e ricorsivo... come scritto nel readme,
mancano almeno la meta' dei check delle api 2.0 mentre ci sono le
totalit'a delle SIP api... piu' qualcos'altro aggiunto da me mentre
scoprivo altre cose che non adavano nelle api.

mi sono fermato alla meta' per una questione di costi benefici...
rispetto ai plugin di cui dovevo fare il porting. Aggiungere gli altri
controlli e' un brutale e noioso lavoro di cut&paste... o trovare una
maniera per automatizzare l'estrazione dei dati dalla pagina web delle
modifiche delle api.... cosa che ho provato, ma non sono riuscito per
via che non ha un formato ripetitivo.
Chiaramente ogni contributo al questo tool e' ben accetta e graditissima :slight_smile:

ti spiego come funziona... e' qualcosa di piuttosto brutale, ma
avendolo fatto in 1h, seduto a un bar... era quel che mi e' uscito
senza avere altra risorsa tempo da investirci visto che dovevo in
tempi brevi fare il porting di alcuni plugin finanziati da Regione
Toscana.

per esempio, nel doc web si dice... QString() viene eliminata => cerco
qualsiasi istanza di "QString(" ma NON solo "QString" perche' ci
possono essere tipi di dati statici => se ci sono metodi tipo
QString.length(), il check non le visualizza ma si avra' sicuro un
errore a runtime.

spero di aver chiarito il funzionamento brutale del check... io lo uso
per avere una stima di massima della complessita' del porting.

comunque... quali sono i problemi che trovi eseguendo il tuo plugin
(quale?) nella 2.0?

ciao Ginetto

2013/8/26 Luca Mandolesi <mandoluca@gmail.com>:

Salve a tutti,
ho visto l'interessante api check per passare dai plugin di Qgis 1.8 a 2.0,
l'ho scaricato e fatto una prova al volo, inserendo un path ad un mio plugin
ma non ricevo errori.
Essendo sicuro al 100% che il mio plugin nn è compatibile con la 2.0, mi
chiedo dove stia l'inghippo.
Qualcuno lo ha già usato e ha qualche suggerimento nell'uso?

Vedo che anche se gli si da un path fasullo non ritorna errori, quindi mi
chiedo se manchi qualcosina nel codice.

Ciao a tutti
Luca

_______________________________________________
Gfoss@lists.gfoss.it
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni
dell'Associazione GFOSS.it.
666 iscritti al 22.7.2013

Il giorno Mon, 26 Aug 2013 14:53:20 +0200
Luca Mandolesi <mandoluca@gmail.com> ha scritto:

Salve a tutti,

ciao Luca;

ho visto l'interessante api check per passare dai plugin di Qgis 1.8
a 2.0, l'ho scaricato e fatto una prova al volo, inserendo un path ad
un mio plugin ma non ricevo errori.
Essendo sicuro al 100% che il mio plugin nn è compatibile con la 2.0,
mi chiedo dove stia l'inghippo.
Qualcuno lo ha già usato e ha qualche suggerimento nell'uso?

io ho provato su un mio script e mi ha dato indicazioni; non le ho
ancora analizzate e quindi non so dirti nulla sulla bontà, è certo che
il check non è stato silenzioso:-)

Vedo che anche se gli si da un path fasullo non ritorna errori,
quindi mi chiedo se manchi qualcosina nel codice.

è che non trovando file, non ha trovato errori!

scherzo, penso che Ginetto ti darà ragguagli:-)

Ciao a tutti
Luca

ciao,
giuliano

2013/8/26 Luca Mandolesi <mandoluca@gmail.com>:

Vedo che anche se gli si da un path fasullo non ritorna errori, quindi mi
chiedo se manchi qualcosina nel codice.

Ciao a tutti
Luca

potrebbe benissimo essere che manchi qualcosa... strano pero' che non
ti dia errore con un path fasullo, il comando walk di python dovrebbe
darti un walk error o noriconoscerlo come path!

ho pure provato e a me da errori in caso di path fasulli... mi stai
facendo venirei dubbi, mi dici su che piattaforma lo ousi?

ciao ginetto

Ok, quindi se ho capito bene cerca una identità esatta tra le stringhe…ho guardato il codice veramente 3 secondi…ma immaginavo che per forza di cose tocca fare così.

Sono su windows 7 e ho lanciato lo script tramite l’editor SPE…magari dopo provo da IDLE.
Per darti due info in più, lo script non l’ho inserito dentro alla cartella del mio plugin…dovevo?

La def usage è così modificata col mio path:

def usage():
print "usage: ", sys.argv[0], “C:\Users\Windows\.qgis\python\plugins\pyarchinit\”

Va bene? Ho toppato?

Su QGis 2 (1.9 in realtà) mi dice solo che il mio plugin è incompatibile, ma non ricevo errori di ritorno.

Dopo faccio due provine. Ho forkato il repo sotto il mio di pyarchinit, caso mai se ho qualche pezzettino di codice da aggiungere (ma ne dubito fortemente) ti pusho la request (AWANAGHENA!).

Grazie mille, spero di dare una mano.
Ciao
Luca

···

2013/8/26 Gino Pirelli <luipir@gmail.com>

2013/8/26 Luca Mandolesi <mandoluca@gmail.com>:

Vedo che anche se gli si da un path fasullo non ritorna errori, quindi mi
chiedo se manchi qualcosina nel codice.

Ciao a tutti
Luca

potrebbe benissimo essere che manchi qualcosa… strano pero’ che non
ti dia errore con un path fasullo, il comando walk di python dovrebbe
darti un walk error o noriconoscerlo come path!

ho pure provato e a me da errori in caso di path fasulli… mi stai
facendo venirei dubbi, mi dici su che piattaforma lo ousi?

ciao ginetto

haaaaaaaaaaa... ok, allora andiamo con ordine

1) il comando prende un path o un nome file... non hai toppato
2) qgis dice che il plugin non e' compatibile perche' legge i dati del
plugin metadata.txt e trova il valore qgisMinimumVersion=1.8 => assume
che il plugin e' compatibile per versioni da 1.8 a 1.99 =>
semplicemente cambia qgisMinimumVersion=2.0 e esegui il plugin
generando gli errori (se ce ne sono) a runtime

ciao ginetto

2013/8/26 Luca Mandolesi <mandoluca@gmail.com>:

Ok, quindi se ho capito bene cerca una identità esatta tra le stringhe....ho
guardato il codice veramente 3 secondi...ma immaginavo che per forza di cose
tocca fare così.

Sono su windows 7 e ho lanciato lo script tramite l'editor SPE...magari dopo
provo da IDLE.
Per darti due info in più, lo script non l'ho inserito dentro alla cartella
del mio plugin...dovevo?

La def usage è così modificata col mio path:
def usage():
    print "usage: ", sys.argv[0],
"C:\\Users\\Windows\\.qgis\\python\\plugins\\pyarchinit\\"

Va bene? Ho toppato?

Su QGis 2 (1.9 in realtà) mi dice solo che il mio plugin è incompatibile, ma
non ricevo errori di ritorno.

Dopo faccio due provine. Ho forkato il repo sotto il mio di pyarchinit, caso
mai se ho qualche pezzettino di codice da aggiungere (ma ne dubito
fortemente) ti pusho la request (AWANAGHENA!).

Grazie mille, spero di dare una mano.
Ciao
Luca

2013/8/26 Gino Pirelli <luipir@gmail.com>

2013/8/26 Luca Mandolesi <mandoluca@gmail.com>:
> Vedo che anche se gli si da un path fasullo non ritorna errori, quindi
> mi
> chiedo se manchi qualcosina nel codice.
>
> Ciao a tutti
> Luca

potrebbe benissimo essere che manchi qualcosa... strano pero' che non
ti dia errore con un path fasullo, il comando walk di python dovrebbe
darti un walk error o noriconoscerlo come path!

ho pure provato e a me da errori in caso di path fasulli... mi stai
facendo venirei dubbi, mi dici su che piattaforma lo ousi?

ciao ginetto

2013/8/26 Gino Pirelli <luipir@gmail.com>

haaaaaaaaaaa... ok, allora andiamo con ordine

1) il comando prende un path o un nome file... non hai toppato

bene ho provato con la idle di python 2.7 e ricevo:

usage: C:\qgis20_api_check-master\qgis20_api_check.py
C:\Users\Windows\.qgis\python\plugins\pyarchinit\

Traceback (most recent call last):
  File "C:\qgis20_api_check-master\qgis20_api_check.py", line 202, in
<module>
    main(sys.argv[1:])
  File "C:\qgis20_api_check-master\qgis20_api_check.py", line 182, in main
    sys.exit(2)
SystemExit: 2

se faccio un print di (sys.argv[1:] ricevo una lista vuota.

2) qgis dice che il plugin non e' compatibile perche' legge i dati del
plugin metadata.txt e trova il valore qgisMinimumVersion=1.8 => assume
che il plugin e' compatibile per versioni da 1.8 a 1.99 =>
semplicemente cambia qgisMinimumVersion=2.0 e esegui il plugin
generando gli errori (se ce ne sono) a runtime

mi sento un cretino....

ciao ginetto

ciao Luca