Spamworldpro Mini Shell
Spamworldpro


Server : Apache/2.4.52 (Ubuntu)
System : Linux webserver 6.8.0-49-generic #49~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 6 17:42:15 UTC 2 x86_64
User : www-data ( 33)
PHP Version : 8.1.2-1ubuntu2.21
Disable Function : NONE
Directory :  /lib/python3.10/lib2to3/fixes/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3.10/lib2to3/fixes/__pycache__/fix_tuple_params.cpython-310.pyc
o

��bc��@s�dZddlmZddlmZddlmZddlmZmZm	Z	m
Z
mZmZdd�Z
Gdd	�d	ej�Zd
d�Zdd
�Zgdfdd�Zdd�ZdS)a:Fixer for function definitions with tuple parameters.

def func(((a, b), c), d):
    ...

    ->

def func(x, d):
    ((a, b), c) = x
    ...

It will also support lambdas:

    lambda (x, y): x + y -> lambda t: t[0] + t[1]

    # The parens are a syntax error in Python 3
    lambda (x): x + y -> lambda x: x + y
�)�pytree)�token)�
fixer_base)�Assign�Name�Newline�Number�	Subscript�symscCst|tj�o|jdjtjkS)N�)�
isinstancer�Node�children�typer�STRING)�stmt�r�5/usr/lib/python3.10/lib2to3/fixes/fix_tuple_params.py�is_docstrings�rc@s(eZdZdZdZdZdd�Zdd�ZdS)	�FixTupleParams�Ta
              funcdef< 'def' any parameters< '(' args=any ')' >
                       ['->' any] ':' suite=any+ >
              |
              lambda=
              lambdef< 'lambda' args=vfpdef< '(' inner=any ')' >
                       ':' body=any
              >
              cs�d|vr
��||�Sg�|d}|d}|djdjtjkr-d}|djdj}t��nd}d}t�tjd��d���fd
d�	}|jt	j
krL||�n|jt	jkrjt|j�D]\}}	|	jt	j
kri||	|dkd�qW�sndS�D]}
|d|
_
qp|}|dkr�d
�d_nt|dj|�r�|�d_|d}�D]}
|d|
_
q��|dj||�<t|d|t��d�D]
}||dj|_q�|d��dS)N�lambda�suite�argsr�rz; �Fcs\t����}|��}d|_t||���}|rd|_|�|���t�t	j
|���g��dS)Nr� )r�new_name�clone�prefixr�replace�appendrr
r
�simple_stmt)�	tuple_arg�
add_prefix�n�argr��end�	new_lines�selfrr�handle_tupleCs


�z.FixTupleParams.transform.<locals>.handle_tuple)r$r)F)�transform_lambdarrr�INDENT�valuerr�Leafr
�tfpdef�
typedargslist�	enumerate�parentrr�range�len�changed)r*�node�resultsrr�start�indentr+�ir&�line�afterrr'r�	transform.sH
�
zFixTupleParams.transformc
Cs�|d}|d}t|d�}|jtjkr"|��}d|_|�|�dSt|�}t|�}|�	t
|��}t|dd�}	|�|	���|��D],}
|
jtjkrn|
j
|vrndd�||
j
D�}t�tj|	��g|�}|
j|_|
�|�qBdS)Nr�body�innerr)rcSsg|]}|���qSr)r��.0�crrr�
<listcomp>�sz3FixTupleParams.transform_lambda.<locals>.<listcomp>)�
simplify_argsrr�NAMErrr �find_params�map_to_indexr�
tuple_namer�
post_orderr.rr
r
�power)
r*r7r8rr?r@�params�to_index�tup_name�	new_paramr%�
subscripts�newrrrr,ns.
�
��zFixTupleParams.transform_lambdaN)�__name__�
__module__�__qualname__�	run_order�
BM_compatible�PATTERNr>r,rrrrrs
@rcCsT|jtjtjfvr|S|jtjkr$|jtjkr"|jd}|jtjks|Std|��)NrzReceived unexpected node %s)rr
�vfplistrrF�vfpdefr�RuntimeError�r7rrrrE�s
�rEcCs<|jtjkr
t|jd�S|jtjkr|jSdd�|jD�S)NrcSs g|]}|jtjkrt|��qSr)rr�COMMArGrArrrrD�s zfind_params.<locals>.<listcomp>)rr
rYrGrrrFr.r[rrrrG�s
rGNcCsZ|duri}t|�D] \}}ttt|���g}t|t�r$t|||d�q
||||<q
|S)N)�d)r2r	r�strr�listrH)�
param_listrr]r;�obj�trailerrrrrH�s
rHcCs<g}|D]}t|t�r|�t|��q|�|�qd�|�S)N�_)rr_r!rI�join)r`�lrarrrrI�s

rI)�__doc__rr�pgen2rr�
fixer_utilrrrrr	r
r�BaseFixrrErGrHrIrrrr�<module>s l

Spamworldpro Mini