From: <th...@us...> - 2003-11-05 21:21:27
|
Update of /cvsroot/py2exe/py2exe/sandbox/py2exe In directory sc8-pr-cvs1:/tmp/cvs-serv29779 Modified Files: boot_common.py Log Message: run_w.c now creates a _MessageBox Python function and attaches it to the sys module. boot_common.py uses this, for console-less exes, to display a warning to the users if there has something been written to stderr (which ultimately goes into the error logfile) at program exit. The _MessageBox function is deleted from the sys module after the boot code has been executed. If that's not what the programmer wants, he can of course assign sys.stderr to something else ;-) Index: boot_common.py =================================================================== RCS file: /cvsroot/py2exe/py2exe/sandbox/py2exe/boot_common.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** boot_common.py 5 Nov 2003 10:21:42 -0000 1.4 --- boot_common.py 5 Nov 2003 18:00:15 -0000 1.5 *************** *** 25,29 **** _file = None _error = None ! def write(self, text): if self._file is None and self._error is None: fname = sys.executable + '.log' --- 25,29 ---- _file = None _error = None ! def write(self, text, alert=sys._MessageBox): if self._file is None and self._error is None: fname = sys.executable + '.log' *************** *** 32,38 **** --- 32,48 ---- except Exception, details: self._error = details + import atexit + atexit.register(alert, 0, + "The logfile '%s' could be opened:\n %s" % (fname, details), + "Errors occurred") + else: + import atexit + atexit.register(alert, 0, + "See the logfile '%s' for details" % fname, + "Errors occurred") if self._file is not None: self._file.write(text) sys.stderr = Stderr() + del sys._MessageBox del Stderr |