summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
1438403)
global _last_response
_last_request = request
global _last_response
_last_request = request
response = self.__transport.request(
self.__host,
self.__handler,
response = self.__transport.request(
self.__host,
self.__handler,
+class MultiCallMethod(object):
def __init__(self, method, notify=False):
self.method = method
def __init__(self, method, notify=False):
self.method = method
def __repr__(self):
return '%s' % self.request()
def __repr__(self):
return '%s' % self.request()
-class MultiCall(ServerProxy):
+class MultiCall(object):
- def __init__(self, uri, *args, **kwargs):
+ def __init__(self, server):
+ self.__server = server
- ServerProxy.__init__(self, uri, *args, **kwargs)
def __run_request(self, request_body):
def __run_request(self, request_body):
- run_request = getattr(ServerProxy, '_ServerProxy__run_request')
- return run_request(self, request_body)
+ run_request = getattr(self.__server, '_ServerProxy__run_request')
+ return run_request(request_body)
def __request(self):
if len(self.__job_list) < 1:
def __request(self):
if len(self.__job_list) < 1:
return [ response['result'] for response in responses ]
def __notify(self, method, params=[]):
return [ response['result'] for response in responses ]
def __notify(self, method, params=[]):
- new_job = Job(method, notify=True)
+ new_job = MultiCallMethod(method, notify=True)
new_job.params = params
self.__job_list.append(new_job)
new_job.params = params
self.__job_list.append(new_job)
if name in ('__run', '__notify'):
wrapped_name = '_%s%s' % (self.__class__.__name__, name)
return getattr(self, wrapped_name)
if name in ('__run', '__notify'):
wrapped_name = '_%s%s' % (self.__class__.__name__, name)
return getattr(self, wrapped_name)
+ new_job = MultiCallMethod(name)
self.__job_list.append(new_job)
return new_job
self.__job_list.append(new_job)
return new_job
# Not really sure if we should include these, but oh well.
Server = ServerProxy
# Not really sure if we should include these, but oh well.
Server = ServerProxy
# JSON-RPC error class
def __init__(self, code=-32000, message='Server error'):
self.faultCode = code
# JSON-RPC error class
def __init__(self, code=-32000, message='Server error'):
self.faultCode = code
global _version
if not version:
version = _version
global _version
if not version:
version = _version
- return dumps(self, rpcid=None, methodresponse=True,
- version=version)
+ return dumps(self, rpcid=rpcid, version=version)
+
+ def __repr__(self):
+ return '<Fault %s: %s>' % (self.faultCode, self.faultString)
def random_id(length=8):
import string
def random_id(length=8):
import string
"""
global _version
if not version:
"""
global _version
if not version:
valid_params = (types.TupleType, types.ListType, types.DictType)
if methodname in types.StringTypes and \
type(params) not in valid_params and \
valid_params = (types.TupleType, types.ListType, types.DictType)
if methodname in types.StringTypes and \
type(params) not in valid_params and \
"""
raise TypeError('Params must be a dict, list, tuple or Fault ' +
'instance.')
"""
raise TypeError('Params must be a dict, list, tuple or Fault ' +
'instance.')
- if type(methodname) not in types.StringTypes and methodresponse != True:
- raise ValueError('Method name must be a string, or methodresponse '+
- 'must be set to True.')
- if isinstance(params, Fault) and not methodresponse:
- raise TypeError('You can only use a Fault for responses.')
# Begin parsing object
payload = Payload(rpcid=rpcid, version=version)
if not encoding:
# Begin parsing object
payload = Payload(rpcid=rpcid, version=version)
if not encoding:
if type(params) is Fault:
response = payload.error(params.faultCode, params.faultString)
return jdumps(response, encoding=encoding)
if type(params) is Fault:
response = payload.error(params.faultCode, params.faultString)
return jdumps(response, encoding=encoding)
+ if type(methodname) not in types.StringTypes and methodresponse != True:
+ raise ValueError('Method name must be a string, or methodresponse '+
+ 'must be set to True.')
if methodresponse is True:
if rpcid is None:
raise ValueError('A method response must have an rpcid.')
if methodresponse is True:
if rpcid is None:
raise ValueError('A method response must have an rpcid.')