Vai al contenuto



Foto

[Python] Da Script Python A Eseguibili Sis


  • Per favore accedi per rispondere
19 risposte a questa discussione

#1 OFFLINE   Phelton

Phelton

    Member

  • Utente
  • StellettaStelletta
  • 11 messaggi

Inviato 12 novembre 2006 - 07:32

Ciao,
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   Oper

Oper

    Millennium Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 1001 messaggi
  • Località:Lucania
  • Cellulare:Nokia 6600
  • Firmware:3.42.1 16-10-03

Inviato 12 novembre 2006 - 09:48

Leggi la guida che ho creato:

http://www.nokioteca...showtopic=41724

è specificato passo passo quello da fare.

#3 OFFLINE   Phelton

Phelton

    Member

  • Utente
  • StellettaStelletta
  • 11 messaggi

Inviato 12 novembre 2006 - 15:29

Ciao,
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

#4 OFFLINE   Oper

Oper

    Millennium Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 1001 messaggi
  • Località:Lucania
  • Cellulare:Nokia 6600
  • Firmware:3.42.1 16-10-03

Inviato 12 novembre 2006 - 16:12

....
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.
....


Posta il .sis che do un'occhiata.

#5 OFFLINE   Phelton

Phelton

    Member

  • Utente
  • StellettaStelletta
  • 11 messaggi

Inviato 12 novembre 2006 - 18:02

non capisco... cosa ti serve esattamente?? vuoi l'output del file bat??

#6 OFFLINE   Oper

Oper

    Millennium Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 1001 messaggi
  • Località:Lucania
  • Cellulare:Nokia 6600
  • Firmware:3.42.1 16-10-03

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.

#7 OFFLINE   Mauro90

Mauro90

    Senior Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStelletta
  • 656 messaggi
  • Località:Treviso
  • Cellulare:6600/N70

Inviato 12 novembre 2006 - 21:20

oper, non s potrebbe creare u wizard per compilare il sis???

#8 OFFLINE   Phelton

Phelton

    Member

  • Utente
  • StellettaStelletta
  • 11 messaggi

Inviato 12 novembre 2006 - 23:08

scusa oper, non capivo se per errore avevi scritto che volevi il sis e se quindi volevi l'output generato dal file bat che esegue la serie di programmi che danno origine al sis.
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")

Allega file  creatore3.sis   1,85K   37 downloads

l'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   Oper

Oper

    Millennium Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 1001 messaggi
  • Località:Lucania
  • Cellulare:Nokia 6600
  • Firmware:3.42.1 16-10-03

Inviato 13 novembre 2006 - 00:25

Nel file .sis manca il file .aif che è proprio quello delle icone.

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   Oper

Oper

    Millennium Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 1001 messaggi
  • Località:Lucania
  • Cellulare:Nokia 6600
  • Firmware:3.42.1 16-10-03

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   giangio1986

giangio1986

    Millennium Member

  • Vip Member
  • 3773 messaggi
  • Località:domo mia
  • Cellulare:n95 & 5800

Inviato 13 novembre 2006 - 09:16

Oper, io non riesco manco a fare il sis... mi crea una serie di errori, eppur ho seguito passo-passo. ho provato a fare il file "prova", un semplice Hello world! , ma nulla.... che ho sbagliato? ci sono dei punti della guida che proprio non mi sono chiari.


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....

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

questo vale per l'xp, ma per windows me???

Messaggio modificato da giangio1986, 13 novembre 2006 - 09:22


#12 OFFLINE   Oper

Oper

    Millennium Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 1001 messaggi
  • Località:Lucania
  • Cellulare:Nokia 6600
  • Firmware:3.42.1 16-10-03

Inviato 13 novembre 2006 - 11:33

Prima domanda:

Cartella Templates

L'immagine dovrebbe parlare da sola, se hai installato tutto correttamente come spiegato nel tutorial:

Immagine inserita


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   Phelton

Phelton

    Member

  • Utente
  • StellettaStelletta
  • 11 messaggi

Inviato 14 novembre 2006 - 03:26

Grazie mille per la risposta.
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   Il.Socio

Il.Socio

    Nokioteca Staff

  • Moderatore
  • 8233 messaggi
  • Località:Torino
  • Cellulare:N8-00

Inviato 14 novembre 2006 - 08:18

ma con cosa va sostituito l'uid... dove lo prendo l'uid corretto??

Puoi dare uno sguardo qui:
http://www.nokioteca...ndpost&p=341555

Messaggio modificato da Il.Socio, 14 novembre 2006 - 08:18


#15 OFFLINE   Giovilomby

Giovilomby

    Millennium Member

  • Utente
  • StellettaStellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 2526 messaggi
  • Località:Spilimbergo (PN)
  • Cellulare:6680

Inviato 23 dicembre 2006 - 21:02

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.

anke a me fa cosi!nessuno ci puo aiutare??

#16 OFFLINE   Enzo74

Enzo74

    Millennium Member

  • Veteran
  • 2237 messaggi
  • Cellulare:Nokia 5800

Inviato 24 dicembre 2006 - 11:52

anche volendo a tempo perso cimentarmi nella creazione di un applicativo tutto nostro per windows per creare questi file sis oltre a dover esattamente creare cartelle e posizionarci dentro i files il file sis in sè alla fine come compilarlo? esiste qualche libreria di terze parti come add on ad esempio in visual studio? penso sia un formato proprietario... la domanda è banale ma su questo non mi sono mai interessato

#17 OFFLINE   Il.Socio

Il.Socio

    Nokioteca Staff

  • Moderatore
  • 8233 messaggi
  • Località:Torino
  • Cellulare:N8-00

Inviato 24 dicembre 2006 - 12:36

Il formato dei sis e' pubblico, pero' non credo esistano librerie gia' pronte per l'uso... quindi o realizzi tutto quanto a manina partendo dalle specifiche del formato sis, oppure dal tuo programma richiami direttamente il programma makesis (fornito con l'sdk del c++) al quale passerai in input un file di testo e ti tirera' fuori il file .sis
Per segnalare allo Staff un messaggio non conforme al regolamento è sufficiente premere il bottone "Segnala" posizionato in basso a sinistra di ciascun messaggio.

#18 OFFLINE   Enzo74

Enzo74

    Millennium Member

  • Veteran
  • 2237 messaggi
  • Cellulare:Nokia 5800

Inviato 24 dicembre 2006 - 16:17

in effetti la cosa più complicata è proprio la creazione finale del pacchetto sis che oltretutto ormai varia tra 2nd e 3rd edition...
cerco un pò di materiale in merito...

#19 OFFLINE   dokkis

dokkis

    Senior Member

  • Developer
  • 828 messaggi
  • Località:Italia-&gt;Roma
  • Cellulare:NoKia 6630

Inviato 24 dicembre 2006 - 16:33

ormai io ho capito un pò il meccanismo su come creare sti benedetti pacchetti sis, dopo molti tentativi a vuoto bene o male ora riesco quasi sempre a crearli correttamente, cmq sia ogni volta di ogni programma mi scoccia fare sempre le stesse procedure per creare un semplice sis.. per questo motivo stavo pensando di fare un programma che automatizza il tutto, che crea tutto da solo.. ora non è certo che lo finisco (magari incontro qualche problema)
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 .. B)

Messaggio modificato da dokkis, 24 dicembre 2006 - 16:41


#20 OFFLINE   JumpJack_

JumpJack_

    Senior Member

  • Developer
  • 994 messaggi
  • Cellulare:a1000,6680

Inviato 16 gennaio 2007 - 09:10

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[...]

Scusate, ma perche' tutto 'sto sbattimento per creare i file .AIF e .MBM di un'applicazione per series60???
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! B)