403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/jedi/api/refactoring/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/jedi/api/refactoring/__pycache__/extract.cpython-311.pyc
�

p�{cm6��
�ddlmZddlmZddlmZddlmZddlm	Z	m
Z
ddlmZddl
mZmZdZe
d	���zZd
�Zd�Zd�Z	dd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%d
S)�)�dedent)�split_lines)�debug)�RefactoringError)�Refactoring�EXPRESSION_PARTS)�indent_block)�function_is_classmethod�function_is_staticmethod��suite�
file_inputz_atom testlist_star_expr testlist test lambdef lambdef_nocond keyword name number string fstringc��t|||��}tjd|��t|��\}}|st	|���|dzt|��z}	|t
|||	|��i}
t||
��S)NzExtracting nodes: %s� = )�_find_nodesr�dbg�_is_expression_with_errorr�_expression_nodes_to_string�_replacer)�inference_state�path�module_node�name�pos�	until_pos�nodes�
is_expression�message�generated_code�file_to_node_changess           �>/usr/lib/python3/dist-packages/jedi/api/refactoring/extract.py�extract_variabler"s�����S�)�4�4�E�	�I�$�e�,�,�,�6�u�=�=��M�7��(��w�'�'�'��E�\�$?��$F�$F�F�N� �(�5�$���"L�"L�M����(<�=�=�=�c��td�|D����rdS|djtvrdd|djzfSdS)z8
    Returns a tuple (is_expression, error_string).
    c3�TK�|]#}|jdko|���V��$dS)rN)�type�
is_definition)�.0�nodes  r!�	<genexpr>z,_is_expression_with_error.<locals>.<genexpr>#s:����
J�
J�D�4�9���7�4�#5�#5�#7�#7�
J�
J�
J�
J�
J�
Jr#)Fz,Cannot extract a name that defines somethingrFzCannot extract a "%s")T�)�anyr&�_VARIABLE_EXCTRACTABLE�rs r!rrsX���
J�
J�E�
J�
J�
J�J�J�E�D�D��Q�x�}�2�2�2��-��a��
�=�=�=��8r#c�.�|�|d���}|��|jdkr#|���}|�
|j|kr|}t	|��r|j}|jjdkr|jj}|jjtvr|j}|jjtv�|g}n�|j|kr|���}|�|}t	|��r|j}|�|d���}|j|kr%|���}|�td���|}|j|jkr|j}|j|jk�t|||��}t|��dkr|jdvr|d	jdgS|S)
zd
    Looks up a module and tries to find the appropriate amount of nodes that
    are in there.
    T)�include_prefixesN�operator�trailerz!Cannot extract anything from that�)�return_stmt�
yield_exprr)
�get_leaf_for_positionr&�
get_next_leaf�	start_pos�_is_not_extractable_syntax�parentr�end_pos�get_previous_leafr�!_remove_unwanted_expression_nodes�len�children)rrr�
start_node�	next_leafr�end_leaf�parent_nodes        r!rr+s���
�2�2�3��2�N�N�J����?�j�(�(�"�0�0�2�2�I��$��)<��)C�)C�&�
�%�j�1�1�	+�#�*�J���!�Y�.�.�#�*�1�J���$�(8�8�8�#�*�J���$�(8�8�8��������$�$�"�0�0�2�2�I��$�&�
�&�j�1�1�	+�#�*�J��4�4�Y�QU�4�V�V����	�)�)��1�1�3�3�H���&�'J�K�K�K� ���!�H�$4�4�4�%�,�K��!�H�$4�4�4�2�+�s�I�N�N��
�5�z�z�Q���:�?�.K�K�K��a��!�!�$�%�%��Lr#Nc��t|d��}|�|���}|d���}t|jd���}||ur	|�||dd�<t	||d��dzg|dd�<d�|��}	i}
||ur|	|z|
|d<n=|�|j}n|t
|d��z}||z|
|d<|	|jz|
|<|dd�D]}d|
|<�|
S)NrT��keepends����
r+r3)�_get_parent_definition�get_first_leafr�prefixr	�join�_get_indentation�value)
r�expression_replacement�	extractedr�insert_before_leaf�remaining_prefix�
definition�first_node_leaf�lines�extracted_prefix�replacement_dct�pr)s
             r!rrasK��(��a��1�1�J��!�'�6�6�8�8���A�h�-�-�/�/�O��*�1�D�A�A�A�E��,�,�,��'�)�E�#�2�#�J� ��E�"�I�6�6��=�>�E�"�R�%�L��w�w�u�~�~���O��,�,�,�$4�7M�$M���a��!�!��#��&�A�A� �#3�E�!�H�#=�#=�=�A�$%�(>�$>���a��!�.>�AS�AY�.Y��*�+��a�b�b�	�#�#�� "������r#c�Z�d�d�t|��D����S)Nr+c3�PK�|]!\}}|�|dk���V��"dS)r��include_prefixN��get_code)r(�i�ns   r!r*z._expression_nodes_to_string.<locals>.<genexpr>�s8����R�R���A�1�:�:�Q�!�V�:�4�4�R�R�R�R�R�Rr#)rL�	enumerater.s r!rr�s+��
�7�7�R�R��5�AQ�AQ�R�R�R�R�R�Rr#c��|d}t|���|ddz
��\}}||�d���zd�d�|dd�D����z}||fS)Nrr3Fr[r+c3�>K�|]}|���V��dS)Nr])r(r`s  r!r*z)_suite_nodes_to_string.<locals>.<genexpr>�s*����2�2�1�!�*�*�,�,�2�2�2�2�2�2r#)�_split_prefix_atrJr^rL)rrr`rK�part_of_code�codes      r!�_suite_nodes_to_stringrg�s���
�a��A�+�A�,<�,<�,>�,>��A���
�K�K��F�L��!�*�*�E�*�:�:�:�
�'�'�2�2��a�b�b�	�2�2�2�
2�
2�3�D��4�<�r#c���|jd|z
}t|jd���}d�|d|���d�||d���fS)zU
    Returns a tuple of the leaf's prefix, split at the until_line
    position.
    rTrEr+N)r8rrKrL)�leaf�
until_line�second_line_countrUs    r!rdrd�sk����q�)�J�6�����d�3�3�3�E�
�7�7�5�,�,�,�,�-�.�.�����?P�>P�>Q�>Q�8R�0S�0S�S�Sr#c�Z�t|���j��dS)NrG)rrJrK�r)s r!rMrM�s$���t�*�*�,�,�3�4�4�R�8�8r#c�`�|�|jjtvr|S|j}|�td���)z8
    Returns the statement where a node is defined.
    NzWe should never even get here)r:r&�_DEFINITION_SCOPES�NotImplementedErrorrms r!rIrI�s@���
��;��1�1�1��K��{���
��=�
>�
>�>r#c��|j}|dv}|tvs|r�|j}t|��D]$\}}|j|kr|}|jdkr|dz}n�%tt
t|������D]F\}}|j|kr6|}	|jdkr|	dz
}	||d�D]}
t|
��r|	dz
}	�n�G|||	dz�}|s8t|d||��|dd�<t|d||��|dd�<|S|gS)z~
    This function makes it so for `1 * 2 + 3` you can extract `2 + 3`, even
    though it is not part of the expression.
    rr1r3NrrG)
r&rr?rar;�reversed�listr8r9r=)rCrr�typ�
is_suite_partrr_r`�start_index�	end_index�n2s           r!r=r=�sw��
�
�C��2�2�M�
����-���$���e�$�$�	�	�D�A�q��y�3������6�Z�'�'��1�$�K���	�
�T�)�E�"2�"2�3�3�4�4�	�	�D�A�q��{�Y�&�&��	��6�Z�'�'���N�I� ����)���B�1�"�5�5��!�Q��	�	����'��k�)�a�-�/�0���	V�:�5��8�S�)�T�T�E�!�A�#�J�:�5��9�c�9�U�U�E�"�#�#�J����=�r#c�@�|jdkp|jdko|jdvS)Nr1�keyword)�None�True�False)r&rNrms r!r9r9�s/���9�
�"�R��9�	�!�Q�d�j�8Q�&Q�Rr#c	���t|j||��}t|��sJ�t|��\}}|�|d��}	|	���}
t
t||	|����\}}|	���rd}
n)t|	j|
��}|�
��}
|rdt|��zdz}d}d}n�t|d��}|sB|r>t
t|	|dj|dj|����p|dgng}t!||��\}}|d���}t%||d��\}}||z
}t'|��}|s d�|��}|d|zdzz
}t+|r
|dd�n|��d}d�|
r{t-|	j��sP|	������}t|��r|dj��fd�|D��}t5|	j��rd	}n|dz
}|�d
|�dd���|n�g|z���dt7|����}��dn�d
z|z�dd�|���d�}|r|}n|r	d|zdz}n|dz|zdz}t9|||||
|��}|s
||jz||<||i}t=||��S)Nrzreturn rHFrGz, r+c� ��g|]
}|�k�|��S�r�)r(rX�
self_params  �r!�
<listcomp>z$extract_function.<locals>.<listcomp>s���?�?�?��q�J���!���r#z
@classmethod
zdef �(z):
�.�)r)r�	tree_noder>r�create_context�is_bound_methodrs�_find_inputs_and_outputs�	is_module�_get_code_insertion_noderJr�_is_node_ending_return_stmt�_find_needed_output_variablesr:r;rgr7rdrrL�_check_for_non_extractablesr�	get_value�get_param_names�string_namer
r	rrNr)rr�module_contextrrrrr�_�contextr��params�return_variablesrQr)�
code_blockrR�has_ending_return_stmt�
after_leaf�first�second�output_var_str�	decorator�function_param_names�
function_code�
function_call�replacementrWr r�s                             @r!�extract_functionr��s������0�#�y�A�A�E��u�:�:����0��7�7��M�1��+�+�E�!�H�5�5�G��-�-�/�/�O�#�$<�^�W�V[�$\�$\�]�]��F�������3�!���'��(9�?�K�K��!�0�0�2�2���<��!<�U�!C�!C�C�d�J�
���!&���!<�U�2�Y�!G�!G��%�		E�-=� E�t�$A���a����b�	�!� �	%�%� � � )�
$�B�'�(��"�
�(>�e�S�'I�'I�$��*��2�Y�,�,�.�.�
�(��Y�q�\�B�B�
��v��e��
��J�'�'�
�%�	<�!�Y�Y�'7�8�8�N��)�n�4�t�;�;�J� �.D� O��c�r�c�
�
�%�P�P�P��I��J��
�'��(9�:�:�	@�#*�#4�#4�#6�#6�#F�#F�#H�#H� ��'�(�(�
@�1�!�4�@�
�?�?�?�?�V�?�?�?��"�7�#4�5�5�	)�(�I���d��
�	�	�	�����	�	�J�.�&�&�Z�L�6�4I�J�J�J�J��Z� � � �	�M��!���z�C�'7�4�?�?�?��	�	�&������M��H�#���!�	H�#�m�3�d�:�K�K�(�5�0�=�@�4�G�K��u�k�=�#�1�3C�E�E�O��@�&,�z�/?�&?��
�#� �/�2����(<�=�=�=r#c���|D]]}	|j}t|���#t$r7|jdkrt	d���|jdkrt	d���Y�ZwxYwdS)N�returnz:Can only extract return statements if they are at the end.�yieldz Cannot extract yield statements.)r?r��AttributeErrorrNr)rr`r?s   r!r�r�(s���
�
2�
2��		2��z�H�
(��1�1�1�1���	K�	K�	K��w�(�"�"�&�P�R�R�R��w�'�!�!�&�'I�J�J�J�"�!�		K����
2�
2s��>A�Ac���|D]]}|jdks|j���s7|���|urdS|j�||jcxkr|ksndS�^dS)N�paramTF)�api_type�parent_contextr��get_root_contextr8)r��namesr��lastrs     r!�_is_name_inputr�6s��������=�G�#�#�4�+>�+H�+H�+J�+J�#��$�$�&�&�n�<�<��t�t��~�%�e�t�~�.L�.L�.L�.L��.L�.L�.L�.L��t�t���5r#c�t�|dj}|dj}g}g}t|��D]�}|���r||vr|�|j���5|j|vrI|�||j��}|rt||||��r|�|j����||fS)NrrG)r8r;�_find_non_global_namesr'�appendrN�gotor�)	r�r�rr�r��inputs�outputsr�name_definitionss	         r!r�r�@s����!�H��E���9��D�
�F��G�&�u�-�-�	.�	.�������	.��7�"�"����t�z�*�*�*���z��'�'�#*�<�<��d�n�#E�#E� �'�.�)�.�:J�E�SW�X�X�.��M�M�$�*�-�-�-���7�?�r#c#��K�|D][}	|j}|jdkr|jddkr�'t|��Ed{V���=#t$r|jdkr|V�Y�XwxYwdS)Nr2rr�r)r?r&r�r�)rr)r?s   r!r�r�Us������8�8��
	8��}�H��y�I�%�%�$�-��*:�c�*A�*A��-�h�7�7�7�7�7�7�7�7�7�7���	�	�	��y�F�"�"��
�
�
���	����8�8s�A�A�Ac��|rt|��r'|jjdkr|j}|jjdk�|jjdvr|j}|jjdv�|S)Nr)�
async_funcdef�	decorated�
async_stmt)rr:r&)r)r�s  r!r�r�dsu����6�t�<�<���k��,�.�.��;�D��k��,�.�.��+�
�J�
J�
J��{���+�
�J�
J�
J��Kr#c#�K�|jD]p}|j|kr�t|��}t|g��D]B}|���s,|j|vr#|�|j��|jV��C�qdS)z�
    Searches everything after at_least_pos in a node and checks if any of the
    return_variables are used in there and returns those.
    N)r?r8�setr�r'rN�remove)r��search_node�at_least_posr�r)rs      r!r�r�ns�����
�$�!�!���>�L�(�(���/�0�0��*�D�6�2�2�	!�	!�D��%�%�'�'�
!�D�J�:J�,J�,J� �'�'��
�3�3�3��j� � � ��	!�!�!r#c�\�|j}|dkrt|jd��S|dkS)N�simple_stmtrr4)r&r�r?)r)�ts  r!r�r�~s4���	�A��M���*�4�=��+;�<�<�<��
��r#)NN)&�textwrapr�parsor�jedir�jedi.api.exceptionsr�jedi.api.refactoringrr�jedi.commonr	�jedi.parser_utilsr
rro�splitr-r"rrrrrgrdrMrIr=r9r�r�r�r�r�r�r�r�r�r#r!�<module>r�s���������������������0�0�0�0�0�0�>�>�>�>�>�>�>�>�$�$�$�$�$�$�O�O�O�O�O�O�O�O�-��)�*�+0�5�7�7�3��

>�
>�
>�	�	�	�3�3�3�n8<�����BS�S�S����T�T�T�9�9�9�?�?�?�!�!�!�HR�R�R�
T>�T>�T>�n2�2�2�������*8�8�8����
!�
!�
!� ����r#

Youez - 2016 - github.com/yon3zu
LinuXploit