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__':