logo
Next Prev
First Last
P13
P01 P02
P03 P04
P05 P06
P07 P08
P09 P10
P11 P12
P13 P14
P15 P16

A server spawning processes


class FakeTelnet(protocol.Protocol):
    dirToRunIn = os.getcwd()
    def connectionMade(self):
        print 'connection made'
        self.pp = ProcessProtocol(self)
        cmd = self.factory.cmd_list
        reactor.spawnProcess(self.pp, cmd[0], cmd, os.environ,
                             self.dirToRunIn, usePTY=True)
    def dataReceived(self, data):
        self.pp.transport.write(data)
    def connectionLost(self, reason=None):
        print 'connection lost'
        self.pp.transport.loseConnection()

class ProcessProtocol(protocol.ProcessProtocol):
    def __init__(self, telnet):
        self.telnet = telnet
    def outReceived(self, data):
        self.telnet.transport.write(data)
    def errReceived(self, data):
        self.telnet.transport.write("! " + data)
    def processEnded(self, status):
        print 'protocol connection lost'
        self.telnet.transport.loseConnection()