def _get_callable_argspec_py2(func):
argspec = inspect.getargspec(func)
if argspec.keywords is not None:
msg = "variable length keyword argument '{0}' found"\
.format(argspec.keywords)
raise FyppFatalError(msg)
vararg = argspec.varargs
args = argspec.args
tuplearg = False
for elem in args:
tuplearg = tuplearg or isinstance(elem, list)
if tuplearg:
msg = 'tuple argument(s) found'
raise FyppFatalError(msg)
defaults = {}
if argspec.defaults is not None:
for ind, default in enumerate(argspec.defaults):
iarg = len(args) - len(argspec.defaults) + ind
defaults[args[iarg]] = default
return args, defaults, vararg
评论列表
文章目录