All Samples(416) | Call(406) | Derive(0) | Import(10)
Format an argument spec from the 4 values returned by getargspec. The first four arguments are (args, varargs, varkw, defaults). The other four arguments are the corresponding optional formatting functions that are called to turn names and values into strings. The ninth argument is an optional function to format the sequence of arguments.
def formatargspec(args, varargs=None, varkw=None, defaults=None,
formatarg=str,
formatvarargs=lambda name: '*' + name,
formatvarkw=lambda name: '**' + name,
formatvalue=lambda value: '=' + repr(value),
join=joinseq):
"""Format an argument spec from the 4 values returned by getargspec.
The first four arguments are (args, varargs, varkw, defaults). The
other four arguments are the corresponding optional formatting functions
that are called to turn names and values into strings. The ninth
argument is an optional function to format the sequence of arguments."""
specs = []
if defaults:
firstdefault = len(args) - len(defaults)
for i, arg in enumerate(args):
spec = strseq(arg, formatarg, join)
if defaults and i >= firstdefault:
spec = spec + formatvalue(defaults[i - firstdefault])
specs.append(spec)
if varargs is not None:
specs.append(formatvarargs(varargs))
if varkw is not None:
specs.append(formatvarkw(varkw))
return '(' + string.join(specs, ', ') + ')'
"""Decorator tools""" import itertools from inspect import getargspec, formatargspec def decorate(func, caller, signature=None):
signature is None and getargspec(func) or signature
if defaults is None:
defaults = ()
parameters = formatargspec(argnames, varargs, kwargs, defaults)[1:-1]
defval = itertools.count(len(argnames) - len(defaults))
args = formatargspec(argnames, varargs, kwargs, defaults,
formatvalue=lambda value:"=%s" % argnames[defval.next()])[1:-1]
src/t/g/tg.ext.repoze.who-0.1-r26/tg/ext/repoze/who/authorize.py tg.ext.repoze.who(Download)
import itertools from pylons.controllers.util import abort from tg import flash from inspect import getargspec, formatargspec from peak.util.decorators import decorate_assignment # Inspired by Michele Simionato's decorator library
argnames, varargs, kwargs, defaults = getargspec(func)
if defaults is None:
defaults = ()
parameters = formatargspec(argnames, varargs, kwargs, defaults)[1:-1]
defval = itertools.count(len(argnames)-len(defaults))
args = formatargspec(argnames, varargs, kwargs, defaults,
formatvalue=lambda value:"=%s" % (
src/f/l/flioops-HEAD/py/trunk/utils/func.py flioops(Download)
# http://www.phyast.pitt.edu/%7Emicheles/python/documentation.html from inspect import getmembers, getargspec, formatargspec, getargvalues, isclass, getargs from sys import _getframe from __builtin__ import min from itertools import ifilter
def getArgsSignature(func): """ Retrieves the definition and call signature of a function packaged in a tuple. """ args, varg, karg, defs= getargspec(func) return formatargspec(args, varg, karg, defs)[1: -1], formatargspec(args, varg, karg)[1: -1]
def update_wrapper(wrapper, wrapped): """ Prepares a wrapper to look like wrapped function """ args, varg, karg, defs= getargspec(wrapped) fcall= formatargspec(args, varg, karg)[1: -1]
src/c/l/CleverHarold-0.1/harold/lib/__init__.py CleverHarold(Download)
import re import sys from inspect import getargspec, formatargspec from urllib import quote from threading import RLock
args, varargs, varkw, defaults = getargspec(function)
name = function.func_name
docstring = function.func_doc or ''
signature = formatargspec(args, varargs, varkw, defaults)
values = formatargspec(args, varargs, varkw)
execmap = {}
exec template % locals() in execmap
src/d/e/DecoratorTools-1.8/peak/util/decorators.py DecoratorTools(Download)
def name_and_spec(func):
from inspect import formatargspec, getargspec
funcname = func.__name__
if funcname=='<lambda>':
funcname = "anonymous"
args, varargs, kwargs, defaults = getargspec(func)
return funcname, formatargspec(args, varargs, kwargs)[1:-1]
src/a/p/Apydia-0.0.2/apydia/descriptors.py Apydia(Download)
import logging
import sys
from os.path import split
from inspect import ismodule, isclass, isfunction, ismethod, isbuiltin, \
getmodule, getsourcefile, findsource, getdoc, \
getcomments, getargspec, formatargspec
def __init__(self, function):
super(FunctionDesc, self).__init__(function)
self.name = function.__name__
self.module = ModuleDesc.load(getmodule(function).__name__)
self.parent = self.module
self.pathname = ".".join([self.module.pathname, self.name])
self.argspec = formatargspec(*getargspec(function))
src/p/r/Products.DocFinderTab-1.0.4/Products/DocFinderTab/analyse.py Products.DocFinderTab(Download)
from Products.DocFinderTab.config import FILTER_ROLES # DFT
from Products.DocFinderTab.config import FILTER_METHODS # DFT
from inspect import isclass, ismethod, \
isfunction, ismethoddescriptor, \
getmro, \
getargspec, formatargspec, \
maybeFunction= maybeFunction.__get__(maybeFunction)
if ismethod(maybeFunction):
maybeFunction= maybeFunction.im_func
return formatargspec(*getargspec(maybeFunction))[1:-1] # DFT
try:
from ZPublisher.BaseRequest import typeCheck
src/k/s/kss.core-1.6.0/kss/core/actionwrapper.py kss.core(Download)
# 02111-1307, USA.
from textwrap import dedent
from inspect import formatargspec, getargspec, getargvalues, \
formatargvalues, currentframe
from zope.interface import implements
# the parameters. *arg, **kw would not suffice since no parameters
# would be marshalled at all.
argspec = getargspec(f)
orig_args = formatargspec(*argspec)[1:-1]
if argspec[3] is None:
fixed_args_num = len(argspec[0])
else:
src/p/y/python-application-1.2.5/application/python/decorator.py python-application(Download)
def preserve_signature(func):
"""Preserve the original function signature and attributes in decorator wrappers."""
from inspect import getargspec, formatargspec
signature = formatargspec(*getargspec(func))[1:-1]
parameters = formatargspec(*getargspec(func), **{'formatvalue': lambda value: ""})[1:-1]
def fix_signature(wrapper):
code = "def %s(%s): return wrapper(%s)\nnew_wrapper = %s\n" % (func.__name__, signature, parameters, func.__name__)
src/p/y/python-gnutls-1.2.0/gnutls/validators.py python-gnutls(Download)
def preserve_signature(func):
"""Preserve the original function signature and attributes in decorator wrappers."""
from inspect import getargspec, formatargspec
from gnutls.constants import GNUTLSConstant
constants = [c for c in (getargspec(func)[3] or []) if isinstance(c, GNUTLSConstant)]
signature = formatargspec(*getargspec(func))[1:-1]
parameters = formatargspec(*getargspec(func), **{'formatvalue': lambda value: ""})[1:-1]