Viewing File: /opt/alt/python38/lib/python3.8/site-packages/funcsigs/__pycache__/__init__.cpython-38.opt-1.pyc
U
.Wv @ s\ d Z ddlmZmZmZ ddlZddlZddlZddlZzddl m
Z
W n ek
rh ddlm
Z
Y nX ddl
mZ dddd gZeejZeejZeeejfZd"d
dZdd
Zdd ZG dd deZG dd deZG dd deZedddZedddZ edddZ!edddZ"edddZ#G dd deZ$G d d deZ%G d!d deZ&dS )#zFunction signature objects for callables
Back port of Python 3.3's function signature tools from the inspect module,
modified to be compatible with Python 2.6, 2.7 and 3.3+.
)absolute_importdivisionprint_functionN)OrderedDict)__version__BoundArguments Parameter Signature signaturec C s8 t | tr0| jdd|fkr | jS | jd | j S t| S )NbuiltinsZ__builtin__.)
isinstancetype
__module____name__repr)
annotationZbase_module r /__init__.pyformatannotation s
r c G s\ z2| t krW d S t| |}|D ]}t|||}qW n tk
rH Y d S X t|tsX|S d S N)r getattrAttributeErrorr
_NonUserDefinedCallables)clsZmethod_namenestedZmethnamer r r _get_user_defined_method' s
r c
C s t | std| t| tjrt| j}| jdkr:|S t |j
}|r^|d jt
tfkrftd|d j}|ttfkr|dd }n|tk rtd|j|dS z
| j}W n tk
r Y nX |dk r|S z
| j}W n tk
r Y n
X t|S t| tjrt| S t| tjrt| j}t|j
}| jpBd}| j pNi }z|j!||}W n6 tk
r } zd | }
t|
W 5 d} ~ X Y nX |j" D ]R\}}|| }
||kr|
j|d
d||<