Initial import to Tizen
[profile/ivi/python-twisted.git] / doc / historic / 2003 / pycon / deferex / deferex-complex-failure.py
1 from deferexex import adder
2
3 class MyExc(Exception):
4     "A sample exception"
5
6 class MyObj:
7
8     def blowUp(self, result):
9         self.x = result
10         raise MyExc("I can't go on!")
11
12     def trapIt(self, failure):
13         failure.trap(MyExc)
14         print 'error (', failure.getErrorMessage(), '). x was:', self.x
15         return self.x
16
17     def onSuccess(self, result):
18         print result + 3
19
20     def whenTrapped(eslf, result):
21         print 'Finally, result was', result
22
23     def run(self, o):
24         o.callRemote("add", 1, 2).addCallback(
25             self.blowUp).addCallback(
26             self.onSuccess).addErrback(
27             self.trapIt).addCallback(
28             self.whenTrapped)
29
30 MyObj().run(adder)