HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/jmespath/__pycache__/visitor.cpython-37.pyc
B

�P�eR*�@s�ddlZddlmZddlmZddlmZdd�Zdd�Zd	d
�Z	dd�Z
Gd
d�de�ZGdd�de�Z
Gdd�de�ZGdd�de�ZGdd�de�ZdS)�N)�	functions)�string_type)�NumbercCst||�rdS||kSdS)NF)�_is_special_number_case)�x�y�r�A/opt/alt/python37/lib/python3.7/site-packages/jmespath/visitor.py�_equalss
r
cCs8t|�r|dkrt|t�St|�r4|dkr4t|t�SdS)N)r�)�_is_actual_number�
isinstance�bool)rrrrr	rs
rcCst|�pt|t�S)N)rr
r)rrrr	�_is_comparable&srcCst|t�rdSt|t�S)NF)r
rr)rrrr	r.s
rc@seZdZdZddd�ZdS)�Optionsz8Options to control how a JMESPath function is evaluated.NcCs||_||_dS)N)�dict_cls�custom_functions)�selfrrrrr	�__init__=s	zOptions.__init__)NN)�__name__�
__module__�__qualname__�__doc__rrrrr	r;src@seZdZdd�Zdd�ZdS)�_ExpressioncCs||_||_dS)N)�
expression�interpreter)rrrrrr	rKsz_Expression.__init__cOs|jj|f|�|�S)N)r�visit)r�node�args�kwargsrrr	rOsz_Expression.visitN)rrrrrrrrr	rJsrc@s$eZdZdd�Zdd�Zdd�ZdS)�VisitorcCs
i|_dS)N)�
_method_cache)rrrr	rTszVisitor.__init__cOsL|d}|j�|�}|dkr<t|d|d|j�}||j|<||f|�|�S)N�typezvisit_%s)r!�get�getattr�
default_visit)rrrrZ	node_type�methodrrr	rWs
z
Visitor.visitcOstd��dS)Nr%)�NotImplementedError)rrrrrrr	r%`szVisitor.default_visitN)rrrrrr%rrrr	r Ss	r cseZdZedd�ejejejejd�Z	ddgZ
eZd;�fdd�	Z
d	d
�Zdd�Zd
d�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#d$�Zd%d&�Zd'd(�Zd)d*�Zd+d,�Zd-d.�Z d/d0�Z!d1d2�Z"d3d4�Z#d5d6�Z$d7d8�Z%d9d:�Z&�Z'S)<�TreeInterpretercCst||�S)N)r
)rrrrr	�<lambda>g�zTreeInterpreter.<lambda>)�eq�ne�lt�gtZlteZgter+r,Ncsbtt|���|j|_|dkr$t�}||_|jdk	r>|jj|_|jdk	rT|jj|_	n
t
��|_	dS)N)�superr(r�MAP_TYPE�	_dict_clsr�_optionsrr�
_functionsrZ	Functions)r�options)�	__class__rr	rps


zTreeInterpreter.__init__cOst|d��dS)Nr")r')rrrrrrr	r%}szTreeInterpreter.default_visitcCs&|}x|dD]}|�||�}qW|S)N�children)r)rr�value�resultrrr	�visit_subexpression�sz#TreeInterpreter.visit_subexpressioncCs(y|�|d�Stk
r"dSXdS)Nr7)r#�AttributeError)rrr7rrr	�visit_field�szTreeInterpreter.visit_fieldcCs�|j|d}|d|jkrF||�|dd|�|�|dd|��S|�|dd|�}|�|dd|�}ttf}t|�r�t|�s�dS|||�SdS)Nr7r6rr)�COMPARATOR_FUNC�
_EQUALITY_OPSr�int�floatr)rrr7Zcomparator_func�left�rightZ	num_typesrrr	�visit_comparator�sz TreeInterpreter.visit_comparatorcCs|S)Nr)rrr7rrr	�
visit_current�szTreeInterpreter.visit_currentcCst|dd|�S)Nr6r)r)rrr7rrr	�visit_expref�szTreeInterpreter.visit_exprefcCs>g}x&|dD]}|�||�}|�|�qW|j�|d|�S)Nr6r7)r�appendr3Z
call_function)rrr7Z
resolved_args�child�currentrrr	�visit_function_expression�s
z)TreeInterpreter.visit_function_expressioncCs||�|dd|�}t|t�s"dS|dd}g}xD|D]<}|�|�||��r8|�|dd|�}|dk	r8|�|�q8W|S)Nr6r�r)rr
�list�_is_truerE)rrr7�baseZcomparator_node�	collected�elementrGrrr	�visit_filter_projection�s

z'TreeInterpreter.visit_filter_projectioncCsX|�|dd|�}t|t�s"dSg}x,|D]$}t|t�rF|�|�q,|�|�q,W|S)Nr6r)rr
rJ�extendrE)rrr7rLZmerged_listrNrrr	�
visit_flatten�s


zTreeInterpreter.visit_flattencCs|S)Nr)rrr7rrr	�visit_identity�szTreeInterpreter.visit_identitycCs4t|t�sdSy||dStk
r.dSXdS)Nr7)r
rJ�
IndexError)rrr7rrr	�visit_index�s
zTreeInterpreter.visit_indexcCs&|}x|dD]}|�||�}qW|S)Nr6)r)rrr7r8rrr	�visit_index_expression�sz&TreeInterpreter.visit_index_expressioncCs"t|t�sdSt|d�}||S)Nr6)r
rJ�slice)rrr7�srrr	�visit_slice�s
zTreeInterpreter.visit_slicecCs|�|dd|�S)Nr6r)r)rrr7rrr	�visit_key_val_pair�sz"TreeInterpreter.visit_key_val_paircCs|dS)Nr7r)rrr7rrr	�
visit_literal�szTreeInterpreter.visit_literalcCs>|dkrdS|��}x$|dD]}|�||�||d<qW|S)Nr6r7)r1r)rrr7rMrFrrr	�visit_multi_select_dict�sz'TreeInterpreter.visit_multi_select_dictcCs8|dkrdSg}x"|dD]}|�|�||��qW|S)Nr6)rEr)rrr7rMrFrrr	�visit_multi_select_list�sz'TreeInterpreter.visit_multi_select_listcCs6|�|dd|�}|�|�r2|�|dd|�}|S)Nr6rr)r�	_is_false)rrr7�matchedrrr	�visit_or_expression�s
z#TreeInterpreter.visit_or_expressioncCs6|�|dd|�}|�|�r"|S|�|dd|�S)Nr6rr)rr])rrr7r^rrr	�visit_and_expression�s
z$TreeInterpreter.visit_and_expressioncCs.|�|dd|�}t|�r(|dkr(dS|S)Nr6rF)rr)rrr7Zoriginal_resultrrr	�visit_not_expressionsz$TreeInterpreter.visit_not_expressioncCs&|}x|dD]}|�||�}qW|S)Nr6)r)rrr7r8rrr	�
visit_pipe
szTreeInterpreter.visit_pipecCs^|�|dd|�}t|t�s"dSg}x2|D]*}|�|dd|�}|dk	r,|�|�q,W|S)Nr6rr)rr
rJrE)rrr7rLrMrNrGrrr	�visit_projections

z TreeInterpreter.visit_projectioncCsr|�|dd|�}y|��}Wntk
r4dSXg}x2|D]*}|�|dd|�}|dk	r@|�|�q@W|S)Nr6rr)r�valuesr:rE)rrr7rLrMrNrGrrr	�visit_value_projections
z&TreeInterpreter.visit_value_projectioncCs(|dkp&|gkp&|ikp&|dkp&|dkS)N�Fr)rr7rrr	r](s zTreeInterpreter._is_falsecCs|�|�S)N)r])rr7rrr	rK/szTreeInterpreter._is_true)N)(rrrr
�operatorr-r.�le�ger<r=�dictr0rr%r9r;rBrCrDrHrOrQrRrTrUrXrYrZr[r\r_r`rarbrcrer]rK�
__classcell__rr)r5r	r(dsD





r(cs,eZdZ�fdd�Zdd�Zdd�Z�ZS)�GraphvizVisitorcstt|���g|_d|_dS)Nr)r/rlr�_lines�_count)r)r5rr	r4szGraphvizVisitor.__init__cOsP|j�d�d|d|jf}|jd7_|�||�|j�d�d�|j�S)Nz
digraph AST {z%s%sr"r�}�
)rmrErn�_visit�join)rrrrrGrrr	r9szGraphvizVisitor.visitc	Cs||j�d||d|�dd�f�xT|�dg�D]D}d|d|jf}|jd7_|j�d||f�|�||�q0WdS)	Nz%s [label="%s(%s)"]r"r7rfr6z%s%srz
  %s -> %s)rmrEr#rnrq)rrrGrFZ
child_namerrr	rqAszGraphvizVisitor._visit)rrrrrrqrkrr)r5r	rl3srl)rg�jmespathrZjmespath.compatr�numbersrr
rrr�objectrrr r(rlrrrr	�<module>s
	P