#
#
-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:
"""
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
# 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
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