HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/sphinx/util/__pycache__/template.cpython-310.pyc
o


$�a��@sdZddlZddlmZddlmZddlmZmZmZm	Z	m
Z
ddlmZddl
mZddlmZdd	lmZdd
lmZddlmZddlmZdd
lmZmZGdd�d�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�Z Gdd�de�Z!dS)z�
    sphinx.util.template
    ~~~~~~~~~~~~~~~~~~~~

    Templates utility functions for Sphinx.

    :copyright: Copyright 2007-2021 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
�N)�partial)�path)�Callable�Dict�List�Tuple�Union)�TemplateNotFound)�Environment)�
BaseLoader)�SandboxedEnvironment)�package_dir)�SphinxFileSystemLoader)�get_translator)�rst�	texescapec@sLeZdZd
deddfdd�Zdededefdd	�Zd
ededefdd�ZdS)�BaseRendererN�loader�returncCs.t|dgd�|_t|jjd<|j�t��dS)Nzjinja2.ext.i18n)r�
extensions�repr)r�envr�filters�install_gettext_translationsr)�selfr�r�6/usr/lib/python3/dist-packages/sphinx/util/template.py�__init__szBaseRenderer.__init__�
template_name�contextcC�|j�|��|�S�N)r�get_template�render)rrrrrrr#!�zBaseRenderer.render�sourcecCr r!)r�from_stringr#)rr%rrrr�
render_string$r$zBaseRenderer.render_stringr!)	�__name__�
__module__�__qualname__rr�strrr#r'rrrrrsrcsLeZdZdeeeefddf�fdd�Zedededefdd	��Z	�Z
S)
�FileRenderer�search_pathrNcs8t|t�r	|g}nttd|��}t|�}t��|�dSr!)�
isinstancer+�list�filterr�superr)rr-r��	__class__rrr)s

zFileRenderer.__init__�filenamercCs(tj�|�}tj�|�}||��||�Sr!)�osr�dirname�basenamer#)�clsr4rr6r7rrr�render_from_file3szFileRenderer.render_from_file�r(r)r*rr+rr�classmethodrr9�
__classcell__rrr2rr,(s"
 r,csNeZdZd
deeeefddf�fdd�
Zedededefdd	��Z	�Z
S)�SphinxRendererN�
template_pathrcs&|durtj�td�}t��|�dS)N�	templates)r5r�joinr
r1r)rr>r2rrr;szSphinxRenderer.__init__r4rcCst�||�Sr!)r,r9)r8r4rrrrr9@szSphinxRenderer.render_from_filer!r:rrr2rr=:s$ r=cs,eZdZddededdf�fdd�
Z�ZS)�
LaTeXRendererNr>�latex_enginercs�|durtj�tdd�}t��|�ttj|d�}||j	j
d<||j	j
d<tj|j	j
d<d|j	_d|j	_
d	|j	_d|j	_d
|j	_d|j	_dS)Nr?�latex)rB�e�escape�eabbrz<%=z%>z<%z<#z#>)r5rr@r
r1rrrrErr�escape_abbr�variable_start_string�variable_end_string�block_start_string�block_end_string�comment_start_string�comment_end_string)rr>rBrEr2rrrFszLaTeXRenderer.__init__�NN)r(r)r*r+rr<rrr2rrAEs$rAcs8eZdZddeeeefdeddf�fdd�
Z�ZS)�ReSTRendererNr>�languagercsHt��|�|jj|d�tj|jjd<tj|jjd<tj|jjd<dS)N)rPrDrE�heading)r1rr�extendrrErrQ)rr>rPr2rrr\s
zReSTRenderer.__init__rN)r(r)r*rr+rrr<rrr2rrO[s0rOc	@sReZdZdZdedeedeeddfdd�Zd	ed
edeeee	ffdd�Z
dS)
�SphinxTemplateLoaderz(A loader supporting template inheritance�confdir�templates_paths�system_templates_pathsrNcCs`g|_g|_|D]}tt�||��}|j�|�q|D]}t|�}|j�|�|j�|�qdSr!)�loaders�
sysloadersrrr@�append)rrTrUrV�templates_pathrrrrrks�zSphinxTemplateLoader.__init__�environment�templatec	CsZ|�d�r|j}|dd�}n|j}|D]}z	|�||�WSty(Yqwt|��)N�!�)�
startswithrXrW�
get_sourcer	)rr[r\rWrrrrr`ys
�zSphinxTemplateLoader.get_source)r(r)r*�__doc__r+rrr
rrr`rrrrrShs�
�$rS)"rar5�	functoolsrr�typingrrrrr�jinja2r	�jinja2.environmentr
�jinja2.loadersr�jinja2.sandboxr�sphinxr
�sphinx.jinja2gluer�
sphinx.localer�sphinx.utilrrrr,r=rArOrSrrrr�<module>s&