X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Futil%2Fmethod.py;h=eb3cba589d0f071c71fb86396dec09786163ff03;hb=1cc8e9613cab8b5b22478de369f259e591c54e6d;hp=24ab75e8d3b9bf79c82cf99b5d4cb2445c42127c;hpb=4d2b508926a415a1f347d07349a43138a4c79c1a;p=sfa.git diff --git a/sfa/util/method.py b/sfa/util/method.py index 24ab75e8..eb3cba58 100644 --- a/sfa/util/method.py +++ b/sfa/util/method.py @@ -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,13 +75,12 @@ class Method: for name, value, expected in zip(max_args, args, self.accepts): self.type_check(name, value, expected, args) - if self.api.config.SFA_API_DEBUG: - sfa_logger().debug("method.__call__ calling method %s"%methodname) + 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'): - sfa_logger().debug("method.__call__ %s completed in %02f s (%s)"%(methodname,runtime,getattr(self,'message',"[no-msg]"))) + logger.debug("method.__call__ [%s] : END %s in %02f s (%s)"%\ + (self.api.interface,methodname,runtime,getattr(self,'message',"[no-msg]"))) return result @@ -96,7 +91,7 @@ class Method: # 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 @@ -248,8 +243,7 @@ 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