Есть клиентский код на стандартном xmlrpclib примерно след вида:

try:
Server.func1
Server.func2
…..
Server.funcN
except:
pass

где Server = ServerProxy.

Нужно это написать на twisted .

Как я понимаю из примера нужно сделать что-то подобное:

from twisted.web.xmlrpc import Proxy
from twisted.internet import reactor

def printValue(value):
print repr(value)
reactor.stop()

def printError(error):
print ‘error’, error
reactor.stop()

Server = Proxy('http://advogato.org/XMLRPC')
Server.callRemote('func1',).addCallbacks(printValue, printError)
reactor.run()

Т е для каждого послед вызова вызывать след Server.func ( вложенной цепочкой ). Но описывать эту вложенность исходя из этого примера жутко неудобно. Соотв вопрос: как это сделать “красивее” ?