[Python] Da Script Python A Eseguibili Sis
#1
OFFLINE
Inviato 12 novembre 2006 - 07:32
in anzi tutto, veramente complimenti per questo forum, è perfetto e utilissimo....
grazie ai post sul pyton sono riuscito a creare il programma che mi serviva...è venuto fuori esattamente quello che mi serviva...
non mi dilungo su cosa fa il programma che ho scritto...comunque ora vorrei portare lo scrypt pyton in un file sis per poterlo eseguire anche senza aver installato il python per symbian.
Tempo fa avevo visto un programma che compilava i file in python creando i sis da installare sul cell.
Mi sapete aiutare?
sul pc con windows ho installato sia l'sdk della nokia per il mio cell che il tool python for s60.
Nella direcotry del tool python for symbian c'è l'eseguibile py2sis che a quanto ho capito compila i file python in sis... ma non capisco come funziona.
la sintassi indicata è:
py2sis <src> [sisfile] [--uid=0x01234567] [--appname=myapp] [--presdk20] [--leavetemp]
provando a usare il comando così:
py2sis scritp.py script.sis --appname=script
mi dice che non trova l'uid per l'applicazione.
Se invece gli specifico l'uid con --uid=0x01234567 mi dice che non riesce a trovare l'uid e di verificare che l'sdk sia installato.
L'sdk è installato... ma l'uid che sarebbe??
Dove trovo il valore giusto da mettere in uid? Mettendo 0x01234567 non funge prorpio.
Avendo installato l'sdk e non funzionando.. mi sapete dire a quale sdk si riferisce il programma py2sis??
Grazie mille in anticipo.
Ciao
#2
OFFLINE
Inviato 12 novembre 2006 - 09:48
http://www.nokioteca...showtopic=41724
è specificato passo passo quello da fare.
#3
OFFLINE
Inviato 12 novembre 2006 - 15:29
grazie mille per la risposta, ho letto a fondo quela guida e ho eseguito scrupolosamente ogni passo, ma...
...ma non riesco a creare un file funzionante.
Insomma crea il file sis e occupa 400 e rotti k, lo mando al cell, lo installa e crea i file nella directory e il programma risulta essere installato, ma non appare alcuna icona nel menu del cell.
Forse il programma che ho fatto è troppo semplice??
In pratica il programma che ho scritto (se programma si può chiamare), esegue una serie di calcoli che generano una use e una pass e poi restituisce il risultato finale con appuifw.query.
In pratica elabora la user, la pass e poi dovrebbe restituire direttamente a schermo una sorta di pop-up con la scelta ok e annulla (irrilevante cosa si scelga).
Non deve fare altro il programma.
come script python funge a meraviglia sul cell....
Potrei avere problemi a far diventare un sis un programma così semplice??
comunque sembra che nella directory /system/apps/nomeprograma/ non ci siano i file relativi all'icona.
Nella guida non hai specificato se le bmp devono essere a 8, 16 o 24 bit...può influire in qualche modo?
Comunque ci tengo a dire che nella creazione del sis non si genera neanche un errore.
Secondo te cosa può essere.
Grazie in anticipio
ciao
#6
OFFLINE
Inviato 12 novembre 2006 - 20:25
non capisco... cosa ti serve esattamente?? vuoi l'output del file bat??
scusa, tu cosa hai scritto
....
Insomma crea il file sis e occupa 400 e rotti k, lo mando al cell, lo installa e crea i file nella directory e il programma risulta essere installato, ma non appare alcuna icona nel menu del cell.
E io ti ho detto di postare il .sis
Penso che si capisca.
Hai ottenuto il file .sis eseguendo il file bat, allora alleghi qui il file .sis ottenuto.
#8
OFFLINE
Inviato 12 novembre 2006 - 23:08
Comunque allego al messaggio il file sis.
Il codice è di quanto più banale esista:
from time import strftime
from appuifw import query
a=strftime('%d:%m')
l=strftime('%S')
lista = ['uno','due','tre']
b=lista[2]
query(u"ORA: "+a+"\nNome: "+b+"\nSecondi "+l+" secondi.", "query")
creatore3.sis 1,85K
37 downloadsl'output del bat (anche se non lo hai chiesto lo metto lo stesso):
C:\TEST>set nome_py=creatore3
C:\TEST>bmconv creatore3.mbm /c24icon1.bmp icon1mask.bmp /c24icon2.bmp icon2mask.bmp
BMCONV version 112.
Compiling...
Multiple bitmap store type: File store
Epoc file: creatore3.mbm
Bitmap file 1 : icon1.bmp
Bitmap file 2 : icon1mask.bmp
Bitmap file 3 : icon2.bmp
Bitmap file 4 : icon2mask.bmp
Success.
C:\TEST>pause
Premere un tasto per continuare . . .
C:\TEST>aiftool creatore3 creatore3.mbm
AIF tool - Unicode build
Copyright © Symbian 2000
Compiling AIF file
C:\TEST>pause
Premere un tasto per continuare . . .
C:\TEST>py2sis creatore3.py creatore3.sis --uid=0x0F000001 --appname=creatore3 -
-leavetemp
Creating SIS for SDK2.0 and later
Processing C:\TEST\temp\creatore3.pkg...
Created creatore3.sis
C:\TEST>pause
Premere un tasto per continuare . . .
C:\TEST>cd temp
C:\TEST\temp>del creatore3.pkg
C:\TEST\temp>copy ..\creatore3.pkg
1 file copiati.
C:\TEST\temp>copy ..\creatore3.aif
1 file copiati.
C:\TEST\temp>makesis creatore3.pkg
Processing creatore3.pkg...
Created creatore3.SIS
C:\TEST\temp>pause
Premere un tasto per continuare . . .
secondo te che può essere???
Il codice py se lo avvio dal python come script funge...
grazie ancora
#9
OFFLINE
Inviato 13 novembre 2006 - 00:25
Devi controllare il file creatore3.pkg che deve essere così:
;
; Standalone Python for S60 app
;
;Languages
&EN
;
;
#{"creatore3"},(0x0F000001),1,0,0
;
;Supports Series 60 v 2.0
;
(0x101F7960), 0, 0, 0, {"Series60ProductID"}
;
; Files to install:
"default.py" -"!:\system\apps\creatore3\default.py"
"creatore3.app" -"!:\system\apps\creatore3\creatore3.app"
"creatore3.rsc" -"!:\system\apps\creatore3\creatore3.rsc"
"creatore3.aif" -"!:\system\apps\creatore3\creatore3.aif"
#10
OFFLINE
Inviato 13 novembre 2006 - 00:35
oper, non s potrebbe creare u wizard per compilare il sis???
Intendi "creare un'applicazione Windows per generare il .sis?"
Diventerebbe complicato da gestire secondo me perchè se devi mettere dei file che vanno a finire in directory particolari, come li gestisci?
Se devi aggiungere delle librerie, delle immagini, insomma secondo me è più facile modificare i file che ho messo, poi se qualcuno si prende la briga di creare un'applicazione, ben venga.
#11
OFFLINE
Inviato 13 novembre 2006 - 09:16
In C:\Nokia\Tools\Python_for_Series_60\py2sis è presente una cartella di nome Templates
che dovete creare cosi' come e' nella cartella C:\TEST
questa frase non l'ho capita....
Se volete creare il .sis con l'interprete Python su Cell allora aggiungere al file prova.pkg la riga:
per 6600, 6630, ....
questa neanche
poi....
questo vale per l'xp, ma per windows me???Aggiungere al Path di sistema:
Pannello di controllo -> Sistema -> Avanzate -> Variabili d'ambiente
In Variabili di sistema selezionare PATH e scegliere Modifica e aggiungere
C:\Nokia\Tools\Python_for_Series_60\py2sis;
poi Ok -> Ok -> Ok
Messaggio modificato da giangio1986, 13 novembre 2006 - 09:22
#12
OFFLINE
Inviato 13 novembre 2006 - 11:33
Cartella Templates
L'immagine dovrebbe parlare da sola, se hai installato tutto correttamente come spiegato nel tutorial:

Seconda domanda:
Se volete creare il .sis con l'interprete Python su Cell allora aggiungere al file prova.pkg la riga:
per 6600, 6630, ....@"PythonForS60_1_3_11_2ndEdFP2.SIS",(0x10201510)
per N70, N90@"PythonForS60_1_3_11_2ndEdFP3.SIS",(0x10201510)
Copiare il file PythonForSeries60... nella cartella C:\TEST
In effeti c'era ..\ in più perchè io usavo un'altra cartella. (Modificato anche nel tutorial)
non penso fosse quello il problema, al massimo non inseriva il file, ma il .sis veniva creato.
Praticamente se usi il 6600,6630 ... devi copiare il file PythonForS60_1_3_11_2ndEdFP2.SIS nella cartella C:\TEST, mentre se usi l'N70 devi copiare PythonForS60_1_3_11_2ndEdFP3.SIS
e aggiungere la riga così come scritto nel file prova.pkg
Terza domanda:
per quanto riguarda il path, vedi un po tu come fare (fai una ricerca magari su google o nell'help) per vedere dove fare la modifica. Io non ce l'ho ME quindi non posso darti aiuto.
#13
OFFLINE
Inviato 14 novembre 2006 - 03:26
Ora ho risolto il problema di creazione del file sis...
Mi crea il file sis e riesco a installarlo sul cell, mi crea l'icona e lo vedo nell'albero delle icone...unico problema è dato dal fatto che i programmi non si aprono.
Se seleziono il programma e tento di avviarlo, mi scompaiono per un secondo tutte le icone e le scritte, mostrando solo lo sfondo del cell e poi ricompare tutto.
Pensando che forse è il mio programma a essere fatto male ( anche se funziona avviandolo da python), ho provato a compilare uno dei programmi demo, sia snake.py che bal.py ma anche con questi file, mi compila tutto, genera il sis con l'icona.. lo installa e quando tento di avviarlo mi da quanto descritto sopra....scompare tutto dallo schermo tranne lo sfondo de cell e poi ricompare tutto come se non avessi avviato nulla.
Una piccola delucidazione...
nella guida fai riferimento all'uid dell'applicazione.
ma non capisco la sintassi che riporti nel file prova.pgk:
#{"prova"},(0x0F000001),1,0,0
;
;Supports Series 60 v 2.0
;
(0x101F7960), 0, 0, 0, {"Series60ProductID"}
la prima riga (#{"prova"},(0x0F000001),1,0,0) è commentata.. perchè??
in pratica bisogna cambiare la riga (0x101F7960), 0, 0, 0, {"Series60ProductID"} con l'uid che si sta usando??
Per chiarire meglio il tutto... come si fa a creare un giusto uid?? l'uid 0x0F000001 è realmente utilizzabile o si tratta di un esempio??
Anche nel file prova.rss indichi:
// Sostituire l'UID 0x0F000001 secondo le direttive symbian
app_uid=0x0F000001;
ma con cosa va sostituito l'uid... dove lo prendo l'uid corretto??
Potrebbe essere che l'applicazione non mi si avvia proprio perchè ho usato come uid 0x0F000001 ???
Grazi mille ancora per la disponibilità.
ciao
#14
OFFLINE
Inviato 14 novembre 2006 - 08:18
Puoi dare uno sguardo qui:ma con cosa va sostituito l'uid... dove lo prendo l'uid corretto??
http://www.nokioteca...ndpost&p=341555
Messaggio modificato da Il.Socio, 14 novembre 2006 - 08:18
#15
OFFLINE
Inviato 23 dicembre 2006 - 21:02
anke a me fa cosi!nessuno ci puo aiutare??Mi crea il file sis e riesco a installarlo sul cell, mi crea l'icona e lo vedo nell'albero delle icone...unico problema è dato dal fatto che i programmi non si aprono.
Se seleziono il programma e tento di avviarlo, mi scompaiono per un secondo tutte le icone e le scritte, mostrando solo lo sfondo del cell e poi ricompare tutto.
#16
OFFLINE
Inviato 24 dicembre 2006 - 11:52
#17
OFFLINE
Inviato 24 dicembre 2006 - 12:36
#19
OFFLINE
Inviato 24 dicembre 2006 - 16:33
cmq ho iniziato a sviluppare stamattina il programma in c# (csharp, e ci vorra il framework 2.0 per avviarlo) all'apertura dal prg vero e proprio si può cambiare sdk, settare la directory del progetto (dal quale prende i vari file icone py ecc..), il nome app e la uid...
una volta settato cio, (tutta questa parte la devo ancora fare), faccio innanzi tutto copiare la cartella templates (che fornirò insieme al programma di modo che la copia da la stesso...), poi a partire da un file .rss di default faccio sostituire al suo interno NOMEAPP con il nome applicazione messo nel prg e l'uid idem.. quindi lo scrivo nella cartella del progetto come nomeapp.rss.. poi nella cartella del progetto prendo i file icon1.bmp e icon2.bmp, controllo che siano rispettivamente 42x29 e 44x44, e se lo sono, faccio creare automaticamente le 2 mask icon1mask.bmp e icon2mask.bmp nel quale il carattere di trasparenza è dato dal primo carattere in alto a sinistra dell'img... una volta che ci sono tutte e 4 le img con il tool bmconv faccio creare prima il file mbm poi il file aif con aiftool... poi vado a richiamare il prg py2sis con l'arg --leavetemp (dove il .py sara di nome nomeapp.py) per creare la cartella temp, nel quale andranno poi il file .aif, e poi faro in modo che controlla dalla cartella del progetto, una cartella aggiuntiva tipo ADDIN nella quale si inseriranno tutti i file da fare installare oltre ai vari rss aif py, e in base poi a questi file si modifica da solo il file .pkg in modo da inserire per bene tutti i vari file da installare con il pacchetto .sis...
è un pò lunga come cosa ma per me dovrebbe essere fattibile, penso e spero di poter continuare questo programma e portarlo a buon termine xD
si chiamerà WizardSISMaker ..
Messaggio modificato da dokkis, 24 dicembre 2006 - 16:41
#20
OFFLINE
Inviato 16 gennaio 2007 - 09:10
Scusate, ma perche' tutto 'sto sbattimento per creare i file .AIF e .MBM di un'applicazione per series60???una volta settato cio, (tutta questa parte la devo ancora fare), faccio innanzi tutto copiare la cartella templates (che fornirò insieme al programma di modo che la copia da la stesso...), poi a partire da un file .rss di default faccio sostituire al suo interno NOMEAPP con il nome applicazione messo nel prg e l'uid idem.. quindi lo scrivo nella cartella del progetto come nomeapp.rss.. poi nella cartella del progetto prendo i file icon1.bmp e icon2.bmp, controllo che siano rispettivamente 42x29 e 44x44, e se lo sono[...]
Nell'sdk Nokia non è incluso AIFBUILDER? E' un programma java con interfaccia grafica, menu, pulsanti e tutto il resto: qualche click qua e la', e i vostri file sono pronti. E' anche in grado di lanciare un sottoprogramma che permette di creare icone, sia partendo da 0 che caricando file .BMP preesistenti, e crea da solo le maschere!
Nell'sdk per UIQ c'e'... e tempo fa, installando un altro sdk (non ricordo se quello per s60 o per communicator) mi si è incasinato è mi creava icone delle dimension sbagliate, perche' destinate a un cellulare non UIQ!













