[TransWarp] PEAK + Twisted?
Joel Boehland
joel at memes.com
Wed Jul 9 14:20:22 EDT 2003
This was resent using a different
"From:" address because my previous one
email was sent from an address not on
the list. I apologize for any duplicates.
Howdy--
This is an extension to a discussion
that was taking place on the #peak irc
channel. Some of us were thinking it
would be a good practical excercise to
"PEAK-ify" a simple twisted app to
showcase the two coolest python
frameworks working together It would
also provide a quickpath for potential
developers on the best way to integrate
the two frameworks.
Going from there, we thought the best
twisted app to PEAK-ify would be the
simple echoserver located in twisted's
doc/examples directory.
Here it is in all its glory:
-------------------------------------------------------------------------------
from twisted.internet.protocol import
Protocol, Factory
from twisted.internet import reactor
### Protocol Implementation
# This is just about the simplest
possible protocol
class Echo(Protocol):
def dataReceived(self, data):
"""As soon as any data is
received, write it back."""
self.transport.write(data)
def main():
f = Factory()
f.protocol = Echo
reactor.listenTCP(8000, f)
reactor.run()
if __name__ == '__main__':
main()
Sooo-- the question to the PEAK
community is what is the best way to
make this twisted protocol part of a
component in a PEAK application? I can
see that there is some twisted support
in the peak.running.interfaces, and
peak.running.scheduler modules, but I'm
having a hard time wrapping my head
around the intended way they should be used.
The rough path that I can see, using the
bulletins example app as a reference is
to have a echoapp.ini with stuff like this:
[peak.running]
reactor = getTwistedReactorSomehow()....
factory =
getEchoProtocolComponentSomehow()...
app = peak.running.scheduler.MainLoop
instance???
Anyone have any comments on this
approach? Even better-- has someone
already made a simple PEAK+twisted app
they'd like to show off to other PEAK
developers?
Thanks for any info,
Joel Boehland
More information about the PEAK
mailing list