Prev | Index | Next

Better implementation

class Presence2(basic.LineReceiver):
    def connectionMade(self):
        self.state = 'needlogin'
    def lineReceived(self, line):
        cmd, data = line.split(" ", 1)
        f = getattr(self, 'handle_%s_%s' %
                    (self.state, cmd), None)
        if f:
            f(data)
        else:
            self.handle_default(data)