X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fserver%2Fxmlrpcapi.py;h=74e002662fd003f3e78dd410ec33c6ae3859de4a;hb=796d35d54ab31e209ddf76b4584b6508b309c6c1;hp=167ac88054e490c24a0fe8403cf7104756ffc303;hpb=a0ef6e7c91c3c8fa376943d28fec8c5c204a78cd;p=sfa.git diff --git a/sfa/server/xmlrpcapi.py b/sfa/server/xmlrpcapi.py index 167ac880..74e00266 100644 --- a/sfa/server/xmlrpcapi.py +++ b/sfa/server/xmlrpcapi.py @@ -3,7 +3,6 @@ # import string -import xmlrpclib # SOAP support is optional try: @@ -19,6 +18,7 @@ except ImportError: #from sfa.util.faults import SfaNotImplemented, SfaAPIError, SfaInvalidAPIMethod, SfaFault from sfa.util.faults import SfaInvalidAPIMethod, SfaAPIError, SfaFault from sfa.util.sfalogging import logger +from sfa.util.py23 import xmlrpc_client #################### # See "2.2 Characters" in the XML specification: @@ -76,7 +76,9 @@ def xmlrpclib_dump(self, value, write): f(*args) # You can't hide from me! -xmlrpclib.Marshaller._Marshaller__dump = xmlrpclib_dump +# Note: not quite sure if this will still cause +# the expected behaviour under python3 +xmlrpc_client.Marshaller._Marshaller__dump = xmlrpclib_dump class XmlrpcApi: """ @@ -131,10 +133,10 @@ class XmlrpcApi: """ # Parse request into method name and arguments try: - interface = xmlrpclib - self.protocol = 'xmlrpclib' - (args, method) = xmlrpclib.loads(data) - if method_map.has_key(method): + interface = xmlrpc_client + self.protocol = 'xmlrpc' + (args, method) = xmlrpc_client.loads(data) + if method in method_map: method = method_map[method] methodresponse = True @@ -168,10 +170,10 @@ class XmlrpcApi: convert result to a valid xmlrpc or soap response """ - if self.protocol == 'xmlrpclib': + if self.protocol == 'xmlrpc': if not isinstance(result, SfaFault): result = (result,) - response = xmlrpclib.dumps(result, methodresponse = True, encoding = self.encoding, allow_none = 1) + response = xmlrpc_client.dumps(result, methodresponse = True, encoding = self.encoding, allow_none = 1) elif self.protocol == 'soap': if isinstance(result, Exception): result = faultParameter(NS.ENV_T + ":Server", "Method Failed", method)