[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