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/template/__pycache__/ |
Upload File : |
o !�b�@ � @ s� d Z ddlmZ ddlmZmZmZmZ ddlmZm Z m Z mZmZm Z mZ ddlmZ ddlmZmZmZmZmZmZmZ ddlmZ ddlmZ dd lT dd lmZ dgZ dZ!G d d� de�Z"dS )zMarkup templating engine.� )�chain)�Attrs�Markup� Namespace�Stream)�START�END�START_NS�END_NS�TEXT�PI�COMMENT)� XMLParser)�BadDirectiveError�Template�TemplateSyntaxError�_apply_directives�EXEC�INCLUDE�SUB)�Suite)�interpolate)�*)�NewTextTemplate�MarkupTemplatezrestructuredtext enc @ s� e Zd ZdZdZdZdefdefdefde fde fd efd efde fdefd efdefdefgZdZeZ d'dd�Zdd� Zdd� Zdd� Zdd� Zdd� Zd(d d!�Zd"d#� Zd)d%d&�ZdS )*r aA Implementation of the template language for XML-based templates. >>> tmpl = MarkupTemplate('''<ul xmlns:py="http://genshi.edgewall.org/"> ... <li py:for="item in items">${item}</li> ... </ul>''') >>> print(tmpl.generate(items=[1, 2, 3])) <ul> <li>1</li><li>2</li><li>3</li> </ul> zhttp://genshi.edgewall.org/zhttp://www.w3.org/2001/XInclude�def�match�when� otherwise�for�if�choose�with�replace�content�attrs�strip�xmlN�strictTc C s, t j| |||||||d� | �| j| � d S )N)�filepath�filename�loader�encoding�lookup� allow_exec)r �__init__�add_directives�DIRECTIVE_NAMESPACE)�self�sourcer) r* r+ r, r- r. � r4 �8/usr/lib/python3/dist-packages/genshi/template/markup.pyr/ ? s �zMarkupTemplate.__init__c C s2 t �| � | j�| j� | j| j| jg7 _d S �N)r � _init_filters�filters�remove�_include�_match)r2 r4 r4 r5 r7 F s zMarkupTemplate._init_filtersc C s` t |t�s t|| j|d�}g }|D ]�\}}}|tu r8t|| j|d |d | jd�D ] \}}}|�|||f� q)q|t u r�|d dkr�| j sStd| jg|dd � �R � �zt|d | j|d | jd�}W n$ t y� } zt|| j|d |jpvd d |d |jp�d ��d }~ww |�t||f� q|tu r�|�� �d�s�|�|||f� q|�|||f� q|S ) N)r* r, � � �r- r �pythonzPython code blocks not allowed�!)� isinstancer r r* r r r) r- �appendr r. r r �SyntaxError�lineno�offsetr r �lstrip� startswith) r2 r3 r, �stream�kind�data�pos�suite�errr4 r4 r5 �_parseL sJ � ��� � �����zMarkupTemplate._parsec C s� d}i }g }i }|D �]h\}} } |t u r�| \}}g } d}|j|krO|�|j�}|d u r5t|j| j| d ��tdd� |D ��}| �|�|�|||� � | f� d}g }|D ]F\}}|j|kr�|�|j�}|d u rpt|j| j| d ��t |�tu r�t|�dkr�|d d }| �|�|�|||� � | f� qS|�||f� qSt |�}| r�| jdd� d � | t|�|f|||f<