[Twisted-Python] Re: [Pyobjc-dev] Re: pdb in PyObjC apps?
Ronald Oussoren
oussoren at cistron.nl
Wed Aug 20 00:25:02 MDT 2003
On Tuesday, 19 August, 2003, at 16:06, Bob Ippolito wrote:
> On Tuesday, Aug 19, 2003, at 05:45 America/New_York, Michael Hudson
> wrote:
>
>> Zachery Bir <zbir at urbanape.com> writes:
>>
>>> Note to self: Don't use pdb and try to catch it through
>>> double-clicking the app :)
>>
>> :-)
>>
>> It shouldn't be *too* outrageously hard to teach my pyrepl interactive
>> tool how to cooperate with the Cocoa run loop (you need a way to give
>> an fd to Cocoa and say "give me control when there's something to read
>> on this" and I'm sure I saw one of them somewhere) in which case you
>> could have an interactive session running alongside your
>> application... Hmm, where's that can of tuits?
>
> I've developed a CoreFoundation reactor for Twisted that would
> facilitate this sort of thing. It's not mainline yet because I
> haven't had time to fully test and write enough examples -- it does
> work, but I'm not currently comfortable putting it in the rest of
> Twisted yet (especially due to the Pyrex build dependency).
>
> Here's what you would do (this obviously needs Developer Tools
> installed):
>
> Download Pyrex 0.8.2
>
> Modify Pyrex/Compiler/Nodes.py .. change the block starting on line
> 160 to this (small fix to allow system includes):
> for filename in env.include_files:
> if not (filename.startswith('<') and filename.endswith('>')):
> filename = '"%s"' % filename
> code.putln('#include %s' % filename)
>
> Install Pyrex
>
> Checkout CVS HEAD of Twisted
>
> Build and install Twisted (or put twisted into your PYTHONPATH, I have
> a symlink of ~/src/Twisted/twisted at
> ~/Library/Python/2.3/site-packages/twisted)
>
> Go into Twisted/sandbox/etrepum/cfsupport
>
> python setup.py build_ext -i
>
> cd TWISTEDPACKAGE/internet
> ln -s TWISTEDCVS/sandbox/etrepum/cfreactor.py .
> ln -s TWISTEDCVS/sandbox/etrepum/cfsupport/cfsupport.so .
>
> That should work, to test it check out the examples in
> TWISTEDCVS/sandbox/etrepum/examples/PyObjC (which obviously require
> PyObjC, you can get that from PackageManager)
>
> Also note that the cfsupport module is enough to just get
> notifications on the fd, but I recommend using Twisted for anything
> that talks sockets anyway.
Why didn't you use PyObjC? Is there functionality in CoreFoundation
that is not in Cocoa or are there other reasons?
Ronald
More information about the Twisted-Python
mailing list