merged namespace
[sfa.git] / sfa / server / modpythonapi / BaseClient.py
index 448f934..56d7286 100755 (executable)
@@ -2,45 +2,47 @@ import xmlrpclib
 
 from ApiExceptionCodes import *
 
-VerboseExceptions = False
-
-def EnableVerboseExceptions(x=True):
-    global VerboseExceptions
-    VerboseExceptions = x
-
 class ExceptionUnmarshaller(xmlrpclib.Unmarshaller):
     def close(self):
-        try:\r
-            return xmlrpclib.Unmarshaller.close(self)\r
-        except xmlrpclib.Fault, e:\r
-            # if the server tagged some traceback info onto the end of the\r
-            # exception text, then print it out on the client.\r
-\r
-            if "\nFAULT_TRACEBACK:" in e.faultString:\r
-                parts = e.faultString.split("\nFAULT_TRACEBACK:")\r
-                e.faultString = parts[0]\r
-                if VerboseExceptions:\r
-                    print "\n|Server Traceback:", "\n|".join(parts[1].split("\n"))\r
-\r
-            raise e\r
-\r
+        try:
+            return xmlrpclib.Unmarshaller.close(self)
+        except xmlrpclib.Fault, e:
+            # if the server tagged some traceback info onto the end of the
+            # exception text, then print it out on the client.
+
+            if "\nFAULT_TRACEBACK:" in e.faultString:
+                parts = e.faultString.split("\nFAULT_TRACEBACK:")
+                e.faultString = parts[0]
+                if BaseClient.VerboseExceptions:
+                    print "\n|Server Traceback:", "\n|".join(parts[1].split("\n"))
+
+            raise e
+
 class ExceptionReportingTransport(xmlrpclib.Transport):
     def make_connection(self, host):
-        import httplib\r
-        if host.startswith("https:"):\r
-           return httplib.HTTPS(host)\r
-        else:\r
-           return httplib.HTTP(host)\r
-\r
-    def getparser(self):\r
-        unmarshaller = ExceptionUnmarshaller()\r
-        parser = xmlrpclib.ExpatParser(unmarshaller)\r
+        import httplib
+        if host.startswith("https:"):
+           return httplib.HTTPS(host)
+        else:
+           return httplib.HTTP(host)
+
+    def getparser(self):
+        unmarshaller = ExceptionUnmarshaller()
+        parser = xmlrpclib.ExpatParser(unmarshaller)
         return parser, unmarshaller
 
 class BaseClient():
+    
+    VerboseExceptions = False
+
     def __init__(self, url):
         self.url = url
         self.server = xmlrpclib.ServerProxy(self.url, ExceptionReportingTransport())
 
     def noop(self, value):
         return self.server.noop(value)
+
+    @staticmethod
+    def EnableVerboseExceptions(x=True):
+        BaseClient.VerboseExceptions = x
+