[Pythonmac-SIG] CFURL Pain

has hengist.podd at virgin.net
Tue Mar 1 15:55:55 CET 2005

Bob wrote:

>>I wonder if it'd be easier just to hand-code wrappers
>Actually, the easiest way is to just use PyObjC!

Maybe that's the way to go for CF stuff then: delegate the problem to 
PyObjC and get rid of the Carbon.CF extension completely (no sense in 
keeping broken modules if they're not worth fixing).

This still leaves Carbon APIs to deal with, however. For example, 
OSA.so is currently pretty broken, and I would happily go in and fix 
it myself but there's little point in doing so if all my changes have 
to be rewritten for bgen before they'll be accepted into the standard 
library. Plus Jack's very busy these days, so who knows when that 
would happen? And then there's stuff like Carbon.File, which could do 
with both bug fixes (the FSSpec problem) plus a new layer on top that 
abstracts away all the various and frequently crusty file types under 
one or two standard wrapper classes (might be possible to turn most 
of them into NSURLs, for example). How should these sorts of problems 
be tackled?

>Additionally, since PyObjC wraps the functions with the signature 
>they actually have, it's obvious (given Apple documentation or 
>headers) how to use them.  The way bgen wraps them attempts to 
>objectify them, which tends to cause more problems than it solves -- 
>at least for me.

I don't mind that so much as I object to the lack of documentation to 
tell you what's actually there and where to find it. These 
undocumented APIs are a serious PITA to grok. I end up generating my 
own erstaz docs by scraping an extension's type/method/function names 
and minimal docstrings into a text file and then cutting and pasting 
from Apple's original API docs or header file comments until I've got 
something that's at least minimally readable.

>>I do recall Jack saying something about maybe having a smaller core 
>>library and moving a lot of the non-essential stuff to an external 
>>package that could be managed independently
>The Windows guys seem to get along just fine with this approach (re: 
>win32all).  There are a select few Win32-specific modules in the 
>core, but most of the things you actually need are elsewhere.

So what would it take to get MacPython from its current state into 
that position?


More information about the Pythonmac-SIG mailing list