view roundup/anypy/findargspec.py @ 6581:b5fb268b7f04

Docker installation doc improved and switchable debugging Using a Docker container, login was failing with no error or ok message. After a lengthy debugging session on irc with alxjsn assisted by taggnostr realised it was the web setting in config.ini. Install doc for docker now mentions that the web setting must end in /issues/. SHELL_DEBUG environment variable enabled set -xv in startp script.a
author John Rouillard <rouilj@ieee.org>
date Tue, 04 Jan 2022 16:31:04 -0500
parents c588e64718fc
children
line wrap: on
line source

''' Wrapper for getargspec to support other callables and python 3 support

In python 3 just uses getfullargspec which handles regular functions
and classes with __call__ methods.
'''

try:
    # Python 3+
    from inspect import getfullargspec as getargspec
    findargspec = getargspec
except ImportError:
    # Python 2.5-2.7 modified from https://bugs.python.org/issue20828
    import inspect

    def findargspec(fn):
        if inspect.isfunction(fn) or inspect.ismethod(fn):
            inspectable = fn
        elif inspect.isclass(fn):
            inspectable = fn.__init__
        elif callable(fn):
            inspectable = fn.__call__
        else:
            inspectable = fn

        try:
            return inspect.getargspec(inspectable)
        except TypeError:
            raise

Roundup Issue Tracker: http://roundup-tracker.org/