1 from twisted.internet import reactor, defer
2 from twisted.internet.protocol import ClientCreator
3 from twisted.protocols import amp
4 from ampserver import Sum, Divide
8 d1 = ClientCreator(reactor, amp.AMP).connectTCP(
9 '127.0.0.1', 1234).addCallback(
10 lambda p: p.callRemote(Sum, a=13, b=81)).addCallback(
11 lambda result: result['total'])
13 result.trap(ZeroDivisionError)
14 print "Divided by zero: returning INF"
16 d2 = ClientCreator(reactor, amp.AMP).connectTCP(
17 '127.0.0.1', 1234).addCallback(
18 lambda p: p.callRemote(Divide, numerator=1234,
19 denominator=0)).addErrback(trapZero)
21 print 'Done with math:', result
22 defer.DeferredList([d1, d2]).addCallback(done)
24 if __name__ == '__main__':