Mercurial > p > roundup > code
view roundup/anypy/findargspec.py @ 7812:ecc34b7917e2
chore(refactor): multiple changes/cleanups
Simplify 'for x in [list val]; alist.append(x)' to 'alist = list([list
val])'. Easier to read as copy of list. Also twice as fast although
speed not an issue.
Remove unneeded list() wrappers. Replace set(list comprehension) with
set comprehension.
Also add trailing ,'s to last element in tuples/lists.
Add some noqa items for acceptable operations in context.
Switch " ... \" ...\" ..." to: ' ... " ... " ...' to remove need to
escape internal '"'.
Change 'not x in y' to 'x not in y'.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Sat, 16 Mar 2024 21:08:16 -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
