b125a595e264bfb3a83d54a599b59e00ae7054f0
[myslice.git] / engine / manifoldapi.py
1 # Manifold API Python interface
2 import xmlrpclib
3 from myslice.config import Config
4
5 debug=True
6
7 class ManifoldAPI:
8
9   def __init__(self, auth=None, cainfo=None):
10
11     config = Config()
12     self.auth = auth
13     self.server = config.manifold_server
14     self.port = config.manifold_port
15     self.path = config.manifold_path
16     self.cainfo = cainfo
17     self.errors = []
18     self.trace = []
19     self.calls = {}
20     self.multicall = False
21     self.url = config.manifold_url()
22     self.proxy = xmlrpclib.Server(self.url, verbose=False, allow_none=True)
23
24   def __getattr__(self, methodName):
25       def func(*args, **kwds):
26         result=getattr(self.proxy, methodName)(self.auth, *args, **kwds)
27         if debug: print methodName, self.auth, self.url,'->',result
28         return result
29       return func