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/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

p�{c&J���dZddlZddlmZddlmZddlmZddlm	Z	ddl
mZddlm
Z
dd	lmZdd
lmZddlmZddlmZdd
lmZddlmZmZddlmZedgd���Zd�Zd�Zd+d�Z d�Z!d�Z"d�Z#Gd�de$��Z%d�Z&d�Z'd�Z(d+d�Z)Gd�d ��Z*d!�Z+d"�Z,d#�Z-d$�Z.ed%��d&���Z/d'�Z0d,d)�Z1d*�Z2dS)-z
Helpers for the API
�N)�
namedtuple)�dedent)�chain��wraps)�	Parameter)�Parser)�tree)�	NO_VALUES)�
infer_atom)�infer_call_of_leaf)�get_string_value_set)�signature_time_cache�memoize_method)�get_parent_scope�CompletionParts)�path�has_dot�namec�,�|�|��S�N)�
startswith)�string�	like_names  �2/usr/lib/python3/dist-packages/jedi/api/helpers.py�_start_matchrs�����Y�'�'�'�c��t|��dkr||vS|�|d��}|dkr#t||dzd�|dd���SdS)N�rF)�len�find�_fuzzy_match)rr�poss   rr"r"sf��
�9�~�~�����F�"�"�
�+�+�i��l�
#�
#�C�
�a�x�x��F�3��7�8�8�,�i����m�<�<�<��5rFc�F�|rt||��St||��Sr)r"r)rr�fuzzys   r�matchr&&s*���/��F�I�.�.�.��F�I�.�.�.rc�&�t|d����S)Nc�\�t|jpd��|jpd|jpd|jfS)N�r)�str�module_path�line�columnr)�xs r�<lambda>z$sorted_definitions.<locals>.<lambda>/s1��s�1�=�+>�B�'?�'?�'(�v�{��'(�x�}�1�'(�v�'/�r)�key)�sorted)�defss r�sorted_definitionsr3-s%���$�/�/�0�0�0�0rc�,�|�|��}|�	|jdvrG||ddz
}tjd|d|d����d��S|jdvrdS|jd|d|jdz
�S)N)r�
error_leafrrz(?!\d)\w+$|$)r�keywordr))�get_leaf_for_position�type�re�search�group�value�	start_pos)�module_node�lines�position�leafr,s     r�get_on_completion_namerB5s����,�,�X�6�6�D��|�t�y�$<�<�<��X�a�[�1�_�%���y��$�|����|�*<�=�=�C�C�A�F�F�F�	
��-�	-�	-��r��:�6�x��{�T�^�A�%6�6�6�7�7rc���||ddz
|d�}|dd|d�|d<|d|dd�|d<d�|��S)Nrr���r))�join)�
code_linesr=�end_posr?s    r�	_get_coderHCsb���y��|�a�'���
�2�3�E��b�	�+�7�1�:�+�&�E�"�I��Q�x�	�!��
�
�&�E�!�H�
�7�7�5�>�>�rc�$�eZdZed���ZdS)�OnErrorLeafc��|jdS�Nr)�args��selfs rr5zOnErrorLeaf.error_leafNs���y��|�rN)�__name__�
__module__�__qualname__�propertyr5�rrrJrJMs-������
����X���rrJc���|j|kr|���}|�dS|jdk}|jdkr#|���}|�dS|jdk�#|jdks|jdkr(|jd|dkrdSt|���|}	|jjdvrn|j}�|r|jd|dkrdSt||���|��S)	Nr)�newliner5rrT)�
file_input�suite�simple_stmtr)r=�get_previous_leafr8rJ�parentrH�get_start_pos_of_prefix)rFrAr@�is_after_newline�	user_stmts     r�_get_code_for_stackr_Ss*���~��!�!��%�%�'�'���<��2��y�I�-��
�)�y�
 �
 ��%�%�'�'���<��2��)�y�
 �
 �
�y�L� � �D�I��$9�$9��>�!��x��{�*�*��2��$�����	�	)���$�(N�N�N��!�(�I�	)�
�	��"�1�%����3�3��r���Y�%F�%F�%H�%H�(�S�S�Src�n����Gd�dt������fd�}tt|||����}d�|dz�z}t�jd���}	|�||�����n#�$r
|jcYSwxYwtd	t||����z���)
zU
    Returns the possible node names (e.g. import_from, xor_test or yield_stmt).
    c��eZdZdS)�/get_stack_at_position.<locals>.EndMarkerReachedN)rPrQrRrTrr�EndMarkerReachedrbs�������rrcc3�
�K���|��}|D]g}|j�kr
����|j����r
����|j����r|V�����|V��hdSr)�	_tokenizer�prefix�endswith)�code�tokens�tokenrc�grammar�safewords   ���r�tokenize_without_endmarkerz9get_stack_at_position.<locals>.tokenize_without_endmarker�s�������"�"�4�(�(���
	�
	�E��|�x�'�'�&�&�(�(�(���&�&�x�0�0�
�&�&�(�(�(���&�&�x�0�0�
�����&�&�(�(�(������
	�
	r�)ZZZ_USER_WANTS_TO_COMPLETE_HERE_WITH_JEDI� T)�error_recovery)riz7This really shouldn't happen. There's a bug in Jedi:
%s)	�	Exceptionrr_r	�
_pgen_grammar�parse�stack�SystemError�list)	rkrFrAr#rmrh�prcrls	`      @@r�get_stack_at_positionrx{s�����
�
�
�
�
�9�
�
�
��������"�%�j�$��<�<�=�=�D�;�H��#�:�� �D��w�$�T�:�:�:�A��	���1�1�$�7�7��8�8�8�8�������w��������
�B�
�)�)�$�/�/�
0�
0�	1���s�A=�=B�Bc�l�|jdkr|�||��S|j}t}|jdkr|�|j��}n^|jdkrt||��}nBt
|tj��rt||��S|jdvrt|��S|S)Nr�atom�trailer)�fstring_string�
fstring_start�fstring_end)r8�inferr[r�
infer_noder
�
isinstancer
�Literalrr)�inference_state�contextrAr[�definitionss     rrr�s����y�F����$�$�W�d�3�3�3�
�[�F��K�
�{�f����(�(���5�5���	��	�	!�	!�(��$�7�7���	�D�$�,�	'�	'�5��'�4�(�(�(�	
��H�	H�	H�#�O�4�4�4��rc#��K�|D]l}|���rRtt|���|�����}d}|r|D]}|j�d}�|r|V��_|Ed{V���h|V��mdS)N)�follow_builtin_importsFT)�	is_importrv�filter_follow_imports�gotor=)�namesr�r�	new_names�
found_builtin�new_names      rr�r��s����������>�>���	��2��	�	���'=������I�"�M�%�
-� )�-�-�H��)�1�(,�
���
%��
�
�
�
�$�$�$�$�$�$�$�$�$��J�J�J�J�#�rc�h�eZdZd�Zed���Zed���Zed���Zd�Z	d�Z
d�ZdS)	�CallDetailsc�0�||_||_||_dSr)�bracket_leaf�	_children�	_position)rOr��childrenr@s    r�__init__zCallDetails.__init__�s��(���!���!����rc�B�t|j|j��dSrL��_get_index_and_keyr�r�rNs r�indexzCallDetails.index����!�$�.�$�.�A�A�!�D�Drc�B�t|j|j��dS)Nrr�rNs r�keyword_name_strzCallDetails.keyword_name_str�r�rc�P�tt|j|j����Sr)rv�_iter_argumentsr�r�rNs r�_list_argumentszCallDetails._list_arguments�s���O�D�N�D�N�C�C�D�D�Drc���d}t��}d}|���}|s|rdSdSd}t|��D]K\}\}}}	||	|dkzz}|r�|dzt|��kr|	r|�|���F|dz
}�Lt|��D]�\}}
|
���}|s8|tjkr|cS|tjtj	fvr
||kr|cS|�|dkr|dkry|
j
|vr\|tjks|tjkr<||kr6|r|cS|	r|
j
|kr|cSn|
j
�|��r|cS|tj
kr|cS��dS)NrrDF�r)�setr��	enumerater �add�get_kindr�VAR_POSITIONAL�POSITIONAL_OR_KEYWORD�POSITIONAL_ONLY�string_name�KEYWORD_ONLYr�VAR_KEYWORD)rO�param_names�positional_count�
used_names�
star_countrM�is_kwarg�i�	key_start�	had_equal�
param_name�kinds            r�calculate_indexzCallDetails.calculate_index�s������U�U�
��
��#�#�%�%���	��
��q��t���5>�t�_�_�		.�		.�1�A�1�
�I�y��	�Z�1�_�5�5�H��
.���q�5�C��I�I�%�%� �.�"���y�1�1�1�1�(�A�-�(��&�{�3�3�	�	�M�A�z��&�&�(�(�D��
!��9�3�3�3��H�H�H��I�;�Y�=V�W�W�W��,�,�,� �����$�Z�1�_�_�
�a����)��;�;�!�Y�%;�;�;� $�	�(G� G� G�!1�Q�!6�!6�!�!� ���� �%�%�1�Y�>�>�#$�H�H�H�?�&�1�<�<�Y�G�G�%�#$�H�H�H��9�0�0�0��H�H�H���trc#�jK�t|�����D]\}}}|r|r|V��dSr)rvr�)rOr�r�r�s    r�iter_used_keyword_argumentsz'CallDetails.iter_used_keyword_argumentssS����04�T�5I�5I�5K�5K�0L�0L�	 �	 �,�J�	�9��
 �Y�
 ������	 �	 rc�f�d}|���dd�D]\}}}|s|rn|dz
}�|S)NrrDr)r�)rO�countr�r�r�s     r�count_positional_argumentsz&CallDetails.count_positional_argumentssV����04�0D�0D�0F�0F�s��s�0K�	�	�,�J�	�9��
�Y�
����Q�J�E�E��rN)rPrQrRr�rSr�r�rr�r�r�r�rTrrr�r��s�������"�"�"�
�E�E��X�E��E�E��X�E��E�E��^�E�1�1�1�f � � �
����rr�c#��K��fd�}�fd�|D��}|djdkr#t|dj���Ed{V��dSd}d}t|��D�]�\}}|jdkr�d}|jd}|jd	}	|	d
kr4|	j�kr|jdkr
d|jdfV�nwd||��dfV�nf|dvr#t
|j��||	��dfV�n?|���}
|
jdkr|
j�krd||
��dfV�nd
V�d}��|jdkre|jddd�D].}|jdkrd	}|jd	}|||��dfV�d}�/tt
|j��dz��}��@t|tj��r|jdkr|s	|ddfV�d}d}��tt|tj��r|jdvrt
|j��}���|d
kr3|dr+d}||d	z
}|jdkr
d|jdfV�nd
V�d}���|s2|djdkr|||d��dfV�dS|ddfV�dSdS)Nc�d��|jdkrdS|jd�d|jdz
�S)Nrr)r8r<r=)rr@s �r�remove_after_posz)_iter_arguments.<locals>.remove_after_pos"s8����9�����4��z�:�8�A�;����):�:�:�;�;rc�*��g|]}|j�k�
|��SrT�r=��.0�cr@s  �r�
<listcomp>z#_iter_arguments.<locals>.<listcomp>(�%���?�?�?�!���h�(>�(>�A�(>�(>�(>rrD�arglistFr�argumentTr�=r)�*z**)rNF�testlist_star_exprr��	star_expr�,r))r8r�r�r�r=r<r �get_first_leaf�boolr�r
�
PythonLeaf)
�nodesr@r��nodes_before�previous_node_yielded�
stars_seenr��node�first�second�
first_leaf�n�befores
 `           rr�r�!s������<�<�<�<�<�@�?�?�?�u�?�?�?�L��B���	�)�)�"�<��#3�#<�h�G�G�G�G�G�G�G�G�G���!���J��\�*�*�,�,���4��9�
�"�"�$(�!��M�!�$�E��]�1�%�F���}�}��#�h�.�.�5�:��3G�3G��U�[�$�.�.�.�.�.��-�-�e�4�4�e�;�;�;�;�;��+�%�%��%�+�&�&�(8�(8��(@�(@�%�G�G�G�G�G�"�0�0�2�2�
��?�f�,�,��1E��1Q�1Q��-�-�j�9�9�5�@�@�@�@�@�(�(�(�(��J�J�
�Y�.�
.�
.��]�3�3�Q�3�'�
�
���6�[�(�(�!"�J��
�1�
�A� �"2�"2�1�"5�"5�u�<�<�<�<��
�
�$(��T�]�);�);�a�)?�$@�$@�!�!�
��d�o�
.�
.�	�4�:��3D�3D�(�
� �"�e�+�+�+�+��
�$)�!�!�
��d�o�
.�
.�
	�4�:��3L�3L��T�Z���J�J�
�S�[�[�\�"�-�[�$(�!�!�!�a�%�(�F��{�f�$�$����t�+�+�+�+�+�$�$�$�$��J�� �(���� �F�*�*��.�.�|�B�/?�@�@�%�G�G�G�G�G�G��b�%�'�'�'�'�'�'�	(�(rc�j���fd�|D��}|djdkrt|dj���Sd}|d}|jdkr:|jddkr)|jdj�kr|jdj}n|dkr
|d	j}|�d
��|fS)zG
    Returns the amount of commas and the keyword argument string.
    c�*��g|]}|j�k�
|��SrTr�r�s  �rr�z&_get_index_and_key.<locals>.<listcomp>hr�rrDr�Nr�rr�r���r�)r8r�r�rGr<r�)r�r@r��key_str�lasts `   rr�r�ds����@�?�?�?�u�?�?�?�L��B���	�)�)�!�,�r�"2�";�X�F�F�F��G����D��y�J���4�=��#3�s�#:�#:��
�a� �(�H�4�4��-��"�(���	
�����r�"�(�����c�"�"�G�+�+rc�F�ttt|j������D]q\}}|dkrf|j|kr[|dkrU|j|d�}|���}|��B|jdks|jjdvrt|||z|��cS�rdS)N�(rr)r{rz)	�reversedrvr�r�rGrZr8r[r�)r��additional_childrenr@r��elementr�rs       r�&_get_signature_details_from_error_noder�ys���"�4�	�$�-�(@�(@�#A�#A�B�B�
V�
V���w��c�>�>�g�o��9�9�e�a�i�i��}�U�V�V�,�H��,�,�.�.�D��|���y�F�"�"�d�k�&6�:M�&M�&M�"�7�H�7J�,J�H�U�U�U�U�U��
V�
Vrc���|�|d���}|j|kr|���}|�dS|j}|��!|jdvrdSg}t|j��D]R}|j|krE|jdkr$t|||��}|�|cS|j|dd�<�<|�d|���S|jdkr|jddks|jdkr||jd	dkrk||jd
ur||j	ksQ|���}|�dSt|jdkr
|jdn|jd	|j|��S|j}|��!dS)NT)�include_prefixes)�funcdef�classdef�	decorated�
async_stmt�
error_noderr{r��	decoratorr�rD)r7r=rZr[r8r�r�r��insertrGr�)�moduler@rAr�r�r��results       r�get_signature_detailsr��s����'�'��4�'�H�H�D��~��!�!��%�%�'�'���<��4��;�D�
�
��9�J�J�J��4� ���$�-�(�(�	1�	1�A��{�X�%�%��6�\�)�)�C��.����F��)�%�
�
�
�/0�z�'��!��,��#�*�*�1�a�0�0�0���9�	�!�!�d�m�A�&6�#�&=�&=��9��+�+��
�a�0@�C�0G�0G�
�D�M�"�-�-�-�(�d�l�2J�2J��-�-�/�/���<��4�"�(,�	�Y�(>�(>�D�M�!�$�$�D�M�RS�DT��M������{��K�
�N�4r�call_signatures_validityc#�K�|ddz
}||d|d�}||jd|�}d�||gz��}tjd|tj��}	|������}
|
�dV�n|
|	|jfV�t|||�����V�dS)z'This function calculates the cache key.rrNr)z.*\()	r=rEr9r&�DOTALL�get_root_context�
py__file__rrZ)r�r�r�rF�user_pos�
line_index�
before_cursor�other_lines�whole�before_bracketr+s           r�cache_signaturesr��s������!��q��J��z�*�<�H�Q�K�<�8�M��\�3�A�6�z�A�B�K��G�G�K�=�/�1�2�2�E��X�g�u�b�i�8�8�N��*�*�,�,�7�7�9�9�K����
�
�
�
��N�L�,B�C�C�C�C�
����&�&�(�(�������rc�>��t���d�fd�	��}|S)Nc����|�"tt|j��d��n|}d|cxkrt|j��ksntd���|j|dz
}t|��}|�d��r|dz}n|�d��r|dz}|�|n|}d|cxkr|ksntd||||fz����|||g|�Ri|��S)Nrrz)`line` parameter is not in a valid range.z
r��
zH`column` parameter (%d) is not in a valid range (0-%d) for line %d (%r).)�maxr �_code_lines�
ValueErrorrg)rOr,r-rM�kwargs�line_string�line_len�funcs       �r�wrapperz%validate_line_column.<locals>.wrapper�s>���04��s�3�t�'�(�(�!�,�,�,�$���D�1�1�1�1�C�� 0�1�1�1�1�1�1��H�I�I�I��&�t�a�x�0���{�#�#������'�'�	���M�H�H�
�
!�
!�$�
'�
'�	���M�H�#�^������V�'�'�'�'�x�'�'�'�'��8�!'��4��;F�F�G�G�
G��t�D�$��8��8�8�8��8�8�8r)NNr)rrs` r�validate_line_columnr	�s8���
�4�[�[�9�9�9�9�9��[�9�$�NrTc���������fd�}ttj�����������}|s�fd���fd�|D��}t||��S)zZ
    Returns a dictionary with name parts as keys and their call paths as
    values.
    c�>��|���}�r|p�o|Sr)�
is_definition)r�is_defr��
referencess  ��r�def_ref_filterz(get_module_names.<locals>.def_ref_filter�s+����#�#�%�%���%�v�B��)B�F�
�Brc�V��t|��}|r|jdkr|j}|�dfvS)Nr�)rr8r[)r�parent_scoper�s  �r�is_module_scope_namez.get_module_names.<locals>.is_module_scope_name�s<���+�D�1�1�L��
3�� 1�\� A� A�+�2���F�D�>�1�1rc�*��g|]}�|���
|��SrTrT)r�r�rs  �rr�z$get_module_names.<locals>.<listcomp>s*���=�=�=�q�%9�%9�!�%<�%<�=��=�=�=r)rvr�
from_iterable�get_used_names�values�filter)r��
all_scopesr�rrr�rs` ``  @r�get_module_namesr�s�������
C�C�C�C�C�C�
��$�V�%:�%:�%<�%<�%C�%C�%E�%E�F�F�G�G�E��
>�	2�	2�	2�	2�	2�>�=�=�=�E�=�=�=���.�%�(�(�(rc�r�|�d��\}}}|dkrd}||�d��fS)Nro�def�function�.)�
rpartition�split)rr8�_�dotted_namess    r�split_search_stringr"sA�� �O�O�C�0�0��D�!�\��u�}�}�����#�#�C�(�(�(�(r)F)TF)3�__doc__r9�collectionsr�textwrapr�	itertoolsr�	functoolsr�inspectr�parso.python.parserr	�parso.pythonr
�jedi.inference.base_valuer�jedi.inference.syntax_treer�jedi.inference.helpersr
�jedi.inference.compiledr�
jedi.cacherr�jedi.parser_utilsrrrr"r&r3rBrHrqrJr_rxrr�r�r�r�r�r�r�r	rr"rTrr�<module>r1s�����
�	�	�	�"�"�"�"�"�"�������������������������&�&�&�&�&�&�������/�/�/�/�/�/�1�1�1�1�1�1�5�5�5�5�5�5�8�8�8�8�8�8�;�;�;�;�;�;�;�;�.�.�.�.�.�.��*�.�0K�0K�0K�L�L��(�(�(����/�/�/�/�0�0�0�8�8�8���������)����%T�%T�%T�P'�'�'�T���(����*P�P�P�P�P�P�P�P�f@(�@(�@(�F,�,�,�*V�V�V�4�4�4�n��0�1�1���2�1��*���.)�)�)�)�6)�)�)�)�)r

Youez - 2016 - github.com/yon3zu
LinuXploit