File: //usr/lib/python3/dist-packages/genshi/template/__pycache__/plugin.cpython-310.pyc
o
!�b� � @ s� d Z ddlZddlmZmZmZ ddlmZ ddlm Z ddl
mZ ddlm
Z
ddlmZmZ g d �Zd
ZG dd� de�ZG d
d� de�ZG dd� de�ZG dd� de�ZdS )zYBasic support for the template engine plugin API used by TurboGears and
CherryPy/Buffet.
� N��ET�HTML�XML)�DocType)�Template)�TemplateLoader)�MarkupTemplate)�TextTemplate�NewTextTemplate)�ConfigurationError�AbstractTemplateEnginePlugin�MarkupTemplateEnginePlugin�TextTemplateEnginePluginzrestructuredtext enc @ s e Zd ZdZdS )r z=Exception raised when invalid plugin options are encountered.N)�__name__�
__module__�__qualname__�__doc__� r r �8/usr/lib/python3/dist-packages/genshi/template/plugin.pyr ! s r c @ sH e Zd ZdZdZdZddd�Zddd�Zddd �Zdd
d�Z dd
� Z
dS )r
z!Implementation of the plugin API.Nc C sD || _ |d u r i }|| _|�dd �| _|�dd�}t|tj�r%|�� dv }dd� |�dd��d �D �}| | _ z
t
|�d
d��}W n tyQ td|�d
� ��w |�d
d �}|rct
|d�sctd��|�dd�}|dvrstd| ��z
t|�dd��}W n ty� td|�d� ��w tdd� |D �||| j|||d�| _d S )Nzgenshi.default_encodingzgenshi.auto_reload�1�r �on�yes�truec S � g | ]}|r|�qS r r ��.0�pr r r �
<listcomp>5 s
�z9AbstractTemplateEnginePlugin.__init__.<locals>.<listcomp>zgenshi.search_path� �:zgenshi.max_cache_size� z&Invalid value for max_cache_size: "%s"zgenshi.loader_callback�__call__z"loader callback must be a functionzgenshi.lookup_errors�strict)�lenientr$ zUnknown lookup errors mode "%s"zgenshi.allow_execTz!Invalid value for allow_exec "%s"c S r r r r r r r r M s )�auto_reload�max_cache_size�
default_class�variable_lookup�
allow_exec�callback)�get_extra_vars�options�get�default_encoding�
isinstance�six�string_types�lower�split�use_package_naming�int�
ValueErrorr �hasattr�boolr �template_class�loader) �self�extra_vars_funcr- r&