[Pythonmac-SIG] Sending stdout/err to a text console in a py2app App

Russell E. Owen rowen at uw.edu
Fri Oct 8 20:23:12 CEST 2010


In article <C8D2C156.342A5%jefferis at gmail.com>,
 Gregory Jefferis <jefferis at gmail.com> wrote:

> Hello,
> 
> I've made a simple python script to wrap a complex, long running shell
> script using easygui.  Then I've used py2app to make a Mac Application.  I'm
> happy except I would really like stdout/stderr from both my python wrapper
> script and the original shell script to be visible as the shell script runs.
> If I run the app from the Terminal that happens.  But if I double click,
> everything gets sent to the system logs (which can be inspected with
> Console.app).  
> 
> Is there anyway I can send anything useful to that empty console windows
> that appears when I start the py2app ?  Or a simple way to make a new
> console to which I can print.
> 
> Thank you very much for any help you can offer,
> 
> Greg.
> 
> Python 2.5 (r25:51918, Sep 19 2006, 08:49:13)
> [GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin
> MacOSX 10.5.8 intel

It would be so nice if py2applet had this built in. But alas it does not.

I assume this is an "applet" that processes files you drop on it (since 
anything else typically needs a GUI to be useful as a double-clickable 
application instead of a command-line tool).

So far the best I have come up with is RO.Wdg.DropletRunner, which is 
part of my RO package available at PyPI.

Features:
- It color codes the messages by source (stdout=black, stderr=red)
- Once the script has processed your initial batch of files you can drag 
new files onto it to process those

 However, it has a few rough edges:
- It requires a trivial script to run your script
- It wants a simple property list in your setup.py to specify what kind 
of files can be dropped on the applet
- It buffers the output more than I would like

Regards,

-- Russell



More information about the Pythonmac-SIG mailing list