# XMLRPC-specific code for SFA Client
+import httplib
import xmlrpclib
+from sfa.util.sfalogging import sfa_logger
+
##
# ServerException, ExceptionUnmarshaller
#
def make_connection(self, host):
# create a HTTPS connection object from a host descriptor
# host may be a string, or a (host, x509-dict) tuple
- import httplib
host, extra_headers, x509 = self.get_host_info(host)
try:
- HTTPS = httplib.HTTPS()
+# return httplib.HTTPS(host, None, key_file=self.key_file, cert_file=self.cert_file) #**(x509 or {}))
+ return httplib.HTTPSConnection(host, None, key_file=self.key_file, cert_file=self.cert_file) #**(x509 or {}))
except AttributeError:
- raise NotImplementedError(
- "your version of httplib doesn't support HTTPS"
- )
- else:
- return httplib.HTTPS(host, None, key_file=self.key_file, cert_file=self.cert_file) #**(x509 or {}))
+ raise NotImplementedError("your version of httplib doesn't support HTTPSConnection")
def getparser(self):
unmarshaller = ExceptionUnmarshaller()
class XMLRPCServerProxy(xmlrpclib.ServerProxy):
def __init__(self, url, transport, allow_none=True, options=None):
- self.options = options
verbose = False
- if self.options and self.options.debug:
+ if options and options.debug:
verbose = True
+ sfa_logger().info ("Connecting to xmlrpcserver at %s (with verbose=%s)"%(url,verbose))
xmlrpclib.ServerProxy.__init__(self, url, transport, allow_none=allow_none, verbose=verbose)
def __getattr__(self, attr):
- if self.options.verbose:
- print "Calling xml-rpc method:", attr
+ sfa_logger().info ("Calling xml-rpc method:%s"%attr)
return xmlrpclib.ServerProxy.__getattr__(self, attr)