view roundup/anypy/findargspec.py @ 7681:9ceb85d9df32

fix(docker): make healthcheck work when proxy is set In docker setups that use a proxy for internet access, exclude the wget healthcheck from using the proxy when connecting to localhost. Fix from Norbert Schlemmer.
author Norbert Schlemmer "Noschvie on github.com"
date Wed, 25 Oct 2023 09:42:11 -0400
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/