[Pythonmac-SIG] Zope py2app, some progress

Bob Ippolito bob at redivi.com
Thu Feb 10 06:41:34 CET 2005


On Feb 9, 2005, at 23:47, Roger Binns wrote:

> You can make a single app appear be in the native installer format
> for each platform.  We did it for BitPim.  Go ahead, download and
> try it.  You don't actually need a cell phone for the program to
> run.
>
> This is the Python code used to do the installer work:
>
> http://cvs.sf.net/viewcvs.py/bitpim/bitpim/makedist.py?view=markup
>
> Slides 18 through 22 of this talk explain how it is done.  Note
> however that we now use py2app on Mac.
>
> http://bitpim.org/papers/baypiggies/

In your presentation you say that serial devices on the Mac are in /dev  
with "no other information".  That is totally not true, unless you say  
"no other information available from POSIX"  ;)  You can get at any  
metadata you want to know about any hardware device in the system (and  
plug/unplug notifications) from IOKit.  The code to do the serial port  
enumeration is rather trivial (as trivial as refcounted C goes,  
anyway):
http://developer.apple.com/samplecode/SerialPortSample/ 
SerialPortSample.html

I don't think anyone has wrapped IOKit, but it wouldn't be that hard to  
wrap the useful parts.  Maybe I'll look into it, since I do use IOKit  
for FireWire and USB notifications in one of my apps.  My current  
implementation does this with an Objective-C class compiled as a Python  
extension, so from PyObjC I can just objc.lookUpClass and talk to it  
without writing any additional ugly wrapper code.

-bob



More information about the Pythonmac-SIG mailing list