[Pythonmac-SIG] appscript terminology caching #2

Bob Ippolito bob at redivi.com
Fri Oct 22 04:18:04 CEST 2004


On Oct 21, 2004, at 21:50, has wrote:

> Bob Ippolito wrote:
>
>>>> You should be able to do this with
>>>> PyObjC via NSWorkspace:
>>>> http://developer.apple.com/technotes/tn/tn2050.html
>>>
>>> Can it be done without PyObjC? It's a great piece of kit, but until 
>>> it becomes part of the standard library I'd feel a little more 
>>> comfortable sticking to standard APIs as it's one less dependency to 
>>> deal with. (Or am I just being too neurotic?)
>>
>> You **MIGHT** be able to do it with Carbon Events, but you can't be 
>> sure if the Python wrappers for that have all the functionality 
>> required.  Otherwise you either have to buck up and use PyObjC, or 
>> write a C or ObjC extension that does it.  I guarantee the former is 
>> a better option.
>
> Heh, can totally believe that. :)
>
>
>> You are being too neurotic.  Everyone who develops Python 
>> applications for the Mac either already has PyObjC or should install 
>> it immediately.  If they don't, they're missing out on damn near 
>> everything
>
> Absolutely. However, appscript is geared at least as much towards 
> casual scripters as application developers. Just worrying about all 
> the crap that can go wrong when you start setting AppleScripters loose 
> on MacPython+appscript; merely getting them through the installation 
> successfully may be a challenge....

Not really, you can have a metapackage (which you should build with 
bdist_mpkg, of course) that includes PyObjC, appscript, py2app, etc. 
that they just double-click to install.  Of course you would need to 
maintain separate ones for Panther and Jaguar users, but nothing more 
complicated than using Installer.app for the user.

If you check out my py2app-branch of PyObjC, you'll see that when you 
build a bdist_mpkg from it, it includes all of PyObjC (packages, 
documentation, source, examples, scripts) PLUS all of py2app as a 
sub-metapackage.  Of course making bdist_mpkg do such complex things 
isn't the most straightforward thing in the world because I just wrote 
it this week and distutils gets in the way in a lot of respects -- 
there is a working example out there that does it.

screenshot: http://redivi.com/~bob/py2app_bdist_mpkg_pyobjc.pdf

Worst case (if you can't figure out how to do it, or you're lazy), you 
could have a disk image that includes the appscript and PyObjC 
metapackages separately and tell them to install both.

-bob



More information about the Pythonmac-SIG mailing list