Take the new doc out of the branch and into trunk
[nodemanager.git] / plcapi.py
index 11d37db..4da9e48 100644 (file)
--- a/plcapi.py
+++ b/plcapi.py
@@ -1,9 +1,9 @@
-import xmlrpclib
+import safexmlrpc
 import hmac, sha
 
 class PLCAPI:
     """
-    Wrapper around xmlrpclib.ServerProxy to automagically add an Auth
+    Wrapper around safexmlrpc.ServerProxy to automagically add an Auth
     struct as the first argument to every XML-RPC call. Initialize
     auth with either:
 
@@ -15,7 +15,7 @@ class PLCAPI:
     the new session-based method.
     """
 
-    def __init__(self, uri, auth, **kwds):
+    def __init__(self, uri, cacert, auth, timeout = 300, **kwds):
         if isinstance(auth, (tuple, list)):
             (self.node_id, self.key) = auth
             self.session = None
@@ -23,7 +23,7 @@ class PLCAPI:
             self.node_id = self.key = None
             self.session = auth
 
-        self.server = xmlrpclib.ServerProxy(uri, allow_none = 1, **kwds)
+        self.server = safexmlrpc.ServerProxy(uri, cacert, timeout, allow_none = 1, **kwds)
 
     def add_auth(self, function):
         """
@@ -64,7 +64,8 @@ class PLCAPI:
 
             if self.session is not None:
                 # Use session authentication
-                auth = {'session': self.session}
+                auth = {'AuthMethod': "session",
+                        'session': self.session}
             else:
                 # Yes, this is the "canonicalization" method used.
                 args = canonicalize(params)