File manager - Edit - /usr/local/CyberPanel/lib/python3.10/site-packages/jmespath/__pycache__/lexer.cpython-310.pyc
Back
o �h~! � @ s@ d dl Z d dlZd dlmZ d dlmZmZ G dd� de�ZdS )� N)�loads)� LexerError�EmptyExpressionErrorc @ s� e Zd Zeejd �Zeejej d �Zeej�Z ed�Z ddddddd d ddd � Zdd� Zdd� Z dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd S )!�Lexer�_z �dot�star�rbracket�comma�colon�current�lparen�rparen�lbrace�rbrace) �.�*�]�,�:�@�(�)�{�}c c sH � | � |� | jd u�r�| j| jv r)| j| j | j| j| jd d�V | �� �nj| j| jv rV| j}| j}| �� | jv rH|| j7 }| �� | jv s<d|||t|� d�V �n=| j| jv rb| �� �n1| jdkr�| j}| �� }|dkr�| �� dd||d d�V �n|d kr�| �� d d||d d�V n�dd||d d�V n�| jd kr�| � � V n�| jdkr�| � ddd�V n�| jdkr�| � ddd�V n�| jdkr�| �� V n�| j| jv r�| j}| � � }dt|�||t|� d�V n�| jdk�r| j}| � � }t|�dk�rdt|�||t|� d�V n�t||d| d��| jdk�r&| �� V nm| jdk�r5| � ddd�V n^| jdk�rD| � ddd �V nO| jd!k�rS| � dd"d#�V n@| jdk�r�| �� dk�rqd$d%| jd | jd�V | �� n"| jd u �r{| j}n| jd }t|dd&d��t| j| jd'| j d��| jd usd(d)| j| jd�V d S )*N� ��type�value�start�end�unquoted_identifier�[r �flattenz[]� �?�filterz[?�lbracket�'�|�or�pipe�&�and�expref�`�number�-zUnknown token '%s'��lexer_position�lexer_value�message�"�<�=�lte�lt�>�gte�gt�!�ne�not�eqz==zUnknown token '='zUnknown token %s�eof� )�_initialize_for_expression�_current� SIMPLE_TOKENS� _position�_next�START_IDENTIFIER�VALID_IDENTIFIER�len� WHITESPACE�_consume_raw_string_literal�_match_or_else�_consume_literal�VALID_NUMBER�_consume_number�intr �_consume_quoted_identifier�_length)�self� expressionr �buff� next_char�position� rZ �D/usr/local/CyberPanel/lib/python3.10/site-packages/jmespath/lexer.py�tokenize s� � � �� � � � � ��� �� �R�zLexer.tokenizec C s6 | j }| j}| �� | jv r|| j7 }| �� | jv s |S )N)rG rE rH rP )rU r rW rZ rZ r[ rQ q s �zLexer._consume_numberc C s@ |st � �d| _|| _t| j�| _| j| j | _t| j�| _d S )Nr )r rG �_expression�list�_charsrE rK rT )rU rV rZ rZ r[ rD x s z Lexer._initialize_for_expressionc C s>