(self, call_list)
return results
system.multicall([{'methodName': 'add', 'params': [2, 2]}, ...]) => \
[[4], ...]

        Allows the caller to package multiple XML-RPC calls into a single
        request.

        See http://www.xmlrpc.com/discuss/msgReader$1208
system.multicall([{'methodName': 'add', 'params': [2, 2]}, ...]) => \
[[4], ...]
system . multicall ( [ { methodName : add params : [ 2 2 ] } ... ] ) = > \ [[ 4 ] ... ]
def system_multicall(self, call_list):
        """system.multicall([{'methodName': 'add', 'params': [2, 2]}, ...]) => \
[[4], ...]

        Allows the caller to package multiple XML-RPC calls into a single
        request.

        See http://www.xmlrpc.com/discuss/msgReader$1208
        """

        results = []
        for call in call_list:
            method_name = call['methodName']
            params = call['params']

            try:
                # XXX A marshalling error in any response will fail the entire
                # multicall. If someone cares they should fix this.
                results.append([self._dispatch(method_name, params)])
            except Fault as fault:
                results.append(
                    {'faultCode' : fault.faultCode,
                     'faultString' : fault.faultString}
                    )
            except:
                exc_type, exc_value, exc_tb = sys.exc_info()
                try:
                    results.append(
                        {'faultCode' : 1,
                         'faultString' : "%s:%s" % (exc_type, exc_value)}
                        )
                finally:
                    # Break reference cycle
                    exc_type = exc_value = exc_tb = None
        return results
def system_multicall ( self , call_list ) : results = [ ] for call in call_list : method_name = call [ 'methodName' ] params = call [ 'params' ] try : # XXX A marshalling error in any response will fail the entire # multicall. If someone cares they should fix this. results . append ( [ self . _dispatch ( method_name , params ) ] ) except Fault as fault : results . append ( { 'faultCode' : fault . faultCode , 'faultString' : fault . faultString } ) except : exc_type , exc_value , exc_tb = sys . exc_info ( ) try : results . append ( { 'faultCode' : 1 , 'faultString' : "%s:%s" % ( exc_type , exc_value ) } ) finally : # Break reference cycle exc_type = exc_value = exc_tb = None return results