Server : Apache System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64 User : dh_edsupp ( 6597262) PHP Version : 8.2.26 Disable Function : NONE Directory : /lib/python3/dist-packages/jmespath/__pycache__/ |
Upload File : |
o ��^~! � @ 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 �0/usr/lib/python3/dist-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>