2to3 -f raise
[sfa.git] / sfa / util / method.py
index c5dc1e6..4e21170 100644 (file)
@@ -3,18 +3,14 @@
 #
 #
 
-import os, time
-from types import *
-from types import StringTypes
-import traceback
+import time
+from types import IntType, LongType, StringTypes
 import textwrap
-import xmlrpclib
 
+from sfa.util.sfalogging import logger
+from sfa.util.faults import SfaFault, SfaInvalidAPIMethod, SfaInvalidArgumentCount, SfaInvalidArgument
 
-from sfa.util.sfalogging import sfa_logger
-from sfa.util.faults import * 
-from sfa.util.parameter import Parameter, Mixed, python_type, xmlrpc_type
-from sfa.trust.auth import Auth
+from sfa.storage.parameter import Parameter, Mixed, python_type, xmlrpc_type
 
 class Method:
     """
@@ -60,7 +56,7 @@ class Method:
        
     def __call__(self, *args, **kwds):
         """
-        Main entry point for all SfaAPI functions. Type checks
+        Main entry point for all SFA API functions. Type checks
         arguments, authenticates, and executes call().
         """
 
@@ -79,23 +75,23 @@ class Method:
             for name, value, expected in zip(max_args, args, self.accepts):
                 self.type_check(name, value, expected, args)
 
+            logger.debug("method.__call__ [%s] : BEG %s"%(self.api.interface,methodname))
             result = self.call(*args, **kwds)
-            runtime = time.time() - start
 
-            if self.api.config.SFA_API_DEBUG or hasattr(self, 'message'):
-                msg=getattr(self,'message',"method %s completed in %02f s"%(methodname,runtime))
-                sfa_logger().debug(msg)
+            runtime = time.time() - start
+            logger.debug("method.__call__ [%s] : END %s in %02f s (%s)"%\
+                             (self.api.interface,methodname,runtime,getattr(self,'message',"[no-msg]")))
 
             return result
 
-        except SfaFault, fault:
+        except SfaFault as fault:
 
             caller = ""
 
             # Prepend caller and method name to expected faults
             fault.faultString = caller + ": " +  self.name + ": " + fault.faultString
             runtime = time.time() - start
-            sfa_logger().log_exc("Method %s raised an exception"%self.name) 
+            logger.log_exc("Method %s raised an exception"%self.name) 
             raise fault
 
 
@@ -247,28 +243,27 @@ class Method:
 
         elif not isinstance(value, expected_type):
             raise SfaInvalidArgument("expected %s, got %s" % \
-                                     (xmlrpc_type(expected_type),
-                                      xmlrpc_type(type(value))),
+                                     (xmlrpc_type(expected_type), xmlrpc_type(type(value))),
                                      name)
 
         # If a minimum or maximum (length, value) has been specified
         if expected_type in StringTypes:
             if min is not None and \
                len(value.encode(self.api.encoding)) < min:
-                raise SfaInvalidArgument, "%s must be at least %d bytes long" % (name, min)
+                raise SfaInvalidArgument("%s must be at least %d bytes long" % (name, min))
             if max is not None and \
                len(value.encode(self.api.encoding)) > max:
-                raise SfaInvalidArgument, "%s must be at most %d bytes long" % (name, max)
+                raise SfaInvalidArgument("%s must be at most %d bytes long" % (name, max))
         elif expected_type in (list, tuple, set):
             if min is not None and len(value) < min:
-                raise SfaInvalidArgument, "%s must contain at least %d items" % (name, min)
+                raise SfaInvalidArgument("%s must contain at least %d items" % (name, min))
             if max is not None and len(value) > max:
-                raise SfaInvalidArgument, "%s must contain at most %d items" % (name, max)
+                raise SfaInvalidArgument("%s must contain at most %d items" % (name, max))
         else:
             if min is not None and value < min:
-                raise SfaInvalidArgument, "%s must be > %s" % (name, str(min))
+                raise SfaInvalidArgument("%s must be > %s" % (name, str(min)))
             if max is not None and value > max:
-                raise SfaInvalidArgument, "%s must be < %s" % (name, str(max))
+                raise SfaInvalidArgument("%s must be < %s" % (name, str(max)))
 
         # If a list with particular types of items is expected
         if isinstance(expected, (list, tuple, set)):