Index: decorator-3.1.2/documentation.py =================================================================== --- decorator-3.1.2.orig/documentation.py +++ decorator-3.1.2/documentation.py @@ -120,7 +120,7 @@ keyword arguments: >>> from inspect import getargspec >>> print getargspec(f1) - ([], 'args', 'kw', None) + ArgSpec(args=[], varargs='args', keywords='kw', defaults=None) This means that introspection tools such as pydoc will give wrong informations about the signature of ``f1``. This is pretty bad: @@ -186,7 +186,7 @@ The signature of ``heavy_computation`` i .. code-block:: python >>> print getargspec(heavy_computation) - ([], None, None, None) + ArgSpec(args=[], varargs=None, keywords=None, defaults=None) A ``trace`` decorator ------------------------------------------------------ @@ -219,7 +219,7 @@ and it that it has the correct signature .. code-block:: python >>> print getargspec(f1) - (['x'], None, None, None) + ArgSpec(args=['x'], varargs=None, keywords=None, defaults=None) The same decorator works with functions of any signature: @@ -233,7 +233,7 @@ The same decorator works with functions calling f with args (0, 3, 2), {} >>> print getargspec(f) - (['x', 'y', 'z'], 'args', 'kw', (1, 2)) + ArgSpec(args=['x', 'y', 'z'], varargs='args', keywords='kw', defaults=(1, 2)) That includes even functions with exotic signatures like the following: @@ -243,7 +243,7 @@ That includes even functions with exotic ... def exotic_signature((x, y)=(1,2)): return x+y >>> print getargspec(exotic_signature) - ([['x', 'y']], None, None, ((1, 2),)) + ArgSpec(args=[['x', 'y']], varargs=None, keywords=None, defaults=((1, 2),)) >>> exotic_signature() calling exotic_signature with args ((1, 2),), {} 3