On May 2, 7:49 am, Bruno Desthuilliers <bruno. [EMAIL PROTECTED]> wrote:
> Yes - using inspect.getargspec. I don't have example code at hand yet, > but it's not really complicated. Viola!! Hey this works!! Now I have modified my code to do this - way cool (still kind of a mess though) args, varargs, varkw, defs = inspect.getargspec(self.function) # Deal with just some args if varargs is None and varkw is None: result=self.function(input) # Deal with *args if varkw is None and varargs is not None and len(args) > 0: result=self.function(input[0:-1], *input[-1]) if varkw is None and varargs is not None and len(args)==0: result=self.function(*input[0]) # Deal with *kwargs if varkw is not None and varargs is not None and len(args) > 0: result=self.function(input[0:-2], *input[-2], **input[-1]) if varkw is not None and varargs is not None and len(args)==0: result=self.function(*input[-2], **input[-1]) if varkw is not None and varargs is None and len(args) > 0: result=self.function(input[0:-1], **input[-1]) if varkw is not None and varargs is None and len(args) == 0: result=self.function(**input[0]) Now this worked until I threw a function which looked like this def func5( input1, input2, input3 ) pass So it barfed because of this.. if varargs is None and varkw is None: result=self.function(input) but all of the parameters were lumped as a list so input1 contained them all... A small tweak turned into this.. if varargs is None and varkw is None: if isinstance(input, tuple): result=self.function(*input) else: result=self.function(input) But now I suppose I need to do this for all of them but that will break my other logic... Yuck - I have to be missing something here. -- http://mail.python.org/mailman/listinfo/python-list