Newsgroup: it.comp.macintosh
Titolo: Programmazione: errore NavGetReply failed, -128

sto programmando in python usando il modulo easygui. qui si puo'
aprire una finestra del finder per salvare/aprire un file. In verita'
ritorna il nome del file scelto/scritto e None se si preme cancel
nella finestra.
improvvisamente ha iniziato a darmi il seguente errore NavGetReply
failed, -128 quando premo su cancel. il valore ritornato e'
giustamente None, ma succede qualcosa per cui tutto si blocca (il mio
programma intendo).
A quanto ho capito e' roba di osx quindi chiedo lumi qui.
questa la funzione per aprire un file:
#-------------------------------------------------------------------
# fileopenbox
#-------------------------------------------------------------------
def fileopenbox(msg=None, title=None, argInitialFile=None):
	"""A dialog to get a file name.
	Returns the name of a file, or None if user chose to cancel.
	if argInitialFile contains a valid filename, the dialog will
	be positioned at that file when it appears.
	"""
	root = Tk()
	root.withdraw()
	f = tkFileDialog.askopenfilename(parent=root,title=title,
initialfile=argInitialFile)
	if f == "": return None
	return f
e questo il pezzo incriminato del mio codice:
-----------------------
                    print "You are going to write a new setup file...
\n"
                    title=="MoleExplorer - Write Setup File -"
                    msg="Save your setup file."
                    filesetup=g.fileopenbox(msg,title)
                if filesetup != None or filesetup !="":  #cancel by
user
                    tmpfile=filesetup #save the name setup file
otherwise will be lost closing the file
                    print "Your setup file is ",filesetup,"\n"
                    filesetup=open(filesetup,"w") #overwrite/write a
file
-------------------------
ecco, se io cancello l'operazione, filesetup vale None, ma non entra
nel ciclo if, causa dell'errore in oggetto, suppongo, e tutto si
pianta perche' non puo' giustamente aprire un file None.
aiuti? prima funzionava, poi ho fatto qualche micromodifica in ALTRE
parti del programma e non gira piu'. se non cancello l'apertura del
file, allora tutto ok
grazie
--
ilnonno

                 if filesetup != None or filesetup !="":  #cancel by
se al posto di or uso and (a me non cambia niente), mi becco l'errore
lo stesso, ma non si pianta il programma.
per completezza dico che filesetup=None se premo cancel nella finestra
grafica mentre e' ="" se cancello l'immissione del nome in modalita'
testo. ecco perhce' le due condizioni
--
ilnonno

 file, allora tutto ok
Riesci a produrre un miniesempio eseguibile che presenti lo stesso
problema?
Suggerisco anche di cominciare a scriverti un po' di test unitari.
-- 
blog:  
http://www.akropolix.net/rik0/blogs
 | Uccidete i filosofi,
site:  
http://www.akropolix.net/rik0/
      | tenetevi riso e
forum: 
http://www.akropolix.net/forum/
     | bacchette per voi.

 Suggerisco anche di cominciare a scriverti un po' di test unitari.
secondo me fa prima a tweakare il runtime
-- 
Timeo lectorem unius libri


dunque, premettiamo che io sono assolutamente niubbo in
programmazione. detto questo un esempio...
#!/usr/bin/python
from Tkinter import *
import tkFileDialog
root = Tk()
root.withdraw()
f = tkFileDialog.asksaveasfile()
if not f:
    f=None
else
    print f
ora, quello che c'e' o non c'e' nel ciclo non conta, l'errore che mi
schiantava il programma era l' "or" al  posto di and... una modifica
non testata fatta insieme ad altre.
comunque, se fai girare lo script prova a cancellare la finestra di
dialogo senza inserire nome di file o altro. nel terminale appare
l'errore. il programma pero' continua.
premetto che lo stesso codice gira senza errore su linux debian.
ho l'ultima versione di aqua tcl/tk e macpython.
--
ilnonno