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/genshi/__pycache__/ |
Upload File : |
o !�b8� � @ s� d Z ddlmZ ddlmZ ddlmZmZ ddlZddl Z ddl mZ ddlZddl mZ ddlmZmZmZmZ dd lmZmZmZmZmZmZmZmZmZ d dgZdZG d d� de�Z e j!Z!e j"Z"e j#Z#e j$Z$e j%Z%G dd� de�Z&G dd� de�Z'G dd� de�Z(G dd � d e�Z)G dd� de*�Z+G dd� de�Z,dd� Z-dd� Z.dd� Z/dd � Z0d!d"� Z1G d#d$� d$e�Z2G d%d&� d&e�Z3G d'd(� d(e�Z4G d)d*� d*e�Z5G d+d,� d,e�Z6G d-d.� d.e�Z7G d/d0� d0e�Z8G d1d2� d2e�Z9e6e7e8e9d3�Z:G d4d5� d5e�Z;G d6d7� d7e;�Z<G d8d9� d9e;�Z=G d:d;� d;e;�Z>G d<d=� d=e;�Z?G d>d?� d?e;�Z@G d@dA� dAe;�ZAG dBdC� dCe;�ZBG dDdE� dEe;�ZCG dFdG� dGe;�ZDG dHdI� dIe;�ZEG dJdK� dKe;�ZFG dLdM� dMe;�ZGG dNdO� dOe;�ZHG dPdQ� dQe;�ZIG dRdS� dSe;�ZJG dTdU� dUe;�ZKG dVdW� dWe;�ZLG dXdY� dYe;�ZMG dZd[� d[e;�ZNG d\d]� d]e;�ZOG d^d_� d_e;�ZPi d`e<�dae=�dbe>�dce?�dde@�deeA�dfeB�dgeC�dheD�dieE�djeG�dkeF�dleH�dmeI�dneJ�doeK�dpeL�eMeNeOePdq��ZQG drds� dse�ZRG dtdu� dueR�ZSG dvdw� dweR�ZTG dxdy� dyeR�ZUG dzd{� d{e�ZVG d|d}� d}e�ZWG d~d� de�ZXG d�d�� d�e�ZYG d�d�� d�e�ZZG d�d�� d�e�Z[G d�d�� d�e�Z\G d�d�� d�e�Z]eWeXeZe[e\e]d��Z^e$e2d�d�fZ_e%e2d�d�fZ`dS )�aD Basic support for evaluating XPath expressions against streams. >>> from genshi.input import XML >>> doc = XML('''<doc> ... <items count="4"> ... <item status="new"> ... <summary>Foo</summary> ... </item> ... <item status="closed"> ... <summary>Bar</summary> ... </item> ... <item status="closed" resolution="invalid"> ... <summary>Baz</summary> ... </item> ... <item status="closed" resolution="fixed"> ... <summary>Waz</summary> ... </item> ... </items> ... </doc>''') >>> print(doc.select('items/item[@status="closed" and ' ... '(@resolution="invalid" or not(@resolution))]/summary/text()')) BarBaz Because the XPath engine operates on markup streams (as opposed to tree structures), it only implements a subset of the full XPath 1.0 language. � )�deque)�reduce)�ceil�floorN)�chain)� IS_PYTHON2)�Stream�Attrs� Namespace�QName) �START�END�TEXT�START_NS�END_NS�COMMENT�PI�START_CDATA� END_CDATA�Path�PathSyntaxErrorzrestructuredtext enc @ s0 e Zd ZdZdZdZdZdZdZe dd� �Z d S ) �Axisz7Defines constants for the various supported XPath axes.� attribute�child� descendantzdescendant-or-self�selfc C s t | |�� �dd�d�S )zdReturn the axis constant for the given name, or `None` if no such axis was defined. �-�_N)�getattr�upper�replace)�cls�name� r# �-/usr/lib/python3/dist-packages/genshi/path.py�fornameD s zAxis.fornameN)�__name__� __module__�__qualname__�__doc__� ATTRIBUTE�CHILD� DESCENDANT�DESCENDANT_OR_SELF�SELF�classmethodr% r# r# r# r$ r ; s r c @ �( e Zd Zedd� �Zdd� Zdd� ZdS )�GenericStrategyc C � dS �NTr# �r! �pathr# r# r$ �supportsU s zGenericStrategy.supportsc C � || _ d S �N�r5 �r r5 r# r# r$ �__init__Y � zGenericStrategy.__init__c s� | j }|r(|d d tu rtg| �n5t|d d |d d fg|dd � �n |d d tu s@|d d tu s@|d d tu rFtg| �n|�dg gfgg� d� �fdd� }|S )Nr � � Fc s� | d d� \}}}d }|t u r� r� �� d S |tu s'|tu s'|tu s'|tu r)d S tdd� � d D ��}g } t���d d tkpBd } d}|�r\|� � \}} }�| \}}}|t u s_|tu r|| r|| ru| d d |kru| d d �| � n| � || f� ||||||�s�qFt� }t| �t|� }d}d}|r�|D ]U}||||||�}t|�tu r�tt| |��D ]+\}}||v r�q�t|�|d k r�|� d� || d7 <