
    7 fZ                    d   d Z ddlmZ ddlZddlmZ ddlmZ ddlmZm	Z	m
Z
 ddlmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZmZ erddlmZ ddlmZ  G d d          Z G d de          Z G d de          Z  G d de           Z! G d de           Z" G d de          Z#dS )z'Templates utility functions for Sphinx.    )annotationsN)partial)path)TYPE_CHECKINGAnyCallable)TemplateNotFound)
BaseLoader)SandboxedEnvironment)package_dir)SphinxFileSystemLoader)get_translator)rst	texescape)Sequence)Environmentc                  (    e Zd ZdddZddZddZdS )BaseRendererNloaderBaseLoader | NonereturnNonec                    t          |dg          | _        t          | j        j        d<   | j                            t                                 d S )Nzjinja2.ext.i18n)r   
extensionsrepr)r   envr   filtersinstall_gettext_translationsr   )selfr   s     J/var/www/equiseq/venv/lib/python3.11/site-packages/sphinx/util/template.py__init__zBaseRenderer.__init__   sK    'vCTBUVVV#' --n.>.>?????    template_namestrcontextdict[str, Any]c                \    | j                             |                              |          S N)r   get_templaterender)r   r#   r%   s      r    r*   zBaseRenderer.render   s&    x$$]33::7CCCr"   sourcec                \    | j                             |                              |          S r(   )r   from_stringr*   )r   r+   r%   s      r    render_stringzBaseRenderer.render_string"   s&    x##F++227;;;r"   r(   )r   r   r   r   )r#   r$   r%   r&   r   r$   )r+   r$   r%   r&   r   r$   )__name__
__module____qualname__r!   r*   r.    r"   r    r   r      s^        @ @ @ @ @
D D D D< < < < < <r"   r   c                  8     e Zd Zd fdZedd
            Z xZS )FileRenderersearch_path Sequence[str | os.PathLike[str]]r   r   c                    t          |t          t          j        f          r|g}nt	          t          d |                    }t          |          }t                                          |           d S r(   )	
isinstancer$   osPathLikelistfilterr   superr!   )r   r5   r   	__class__s      r    r!   zFileRenderer.__init__'   si    kC#566 	:&-KK vdK8899K'44     r"   filenamer$   r%   r&   c                    t           j                            |          }t           j                            |          } | |                              ||          S r(   )r9   r   dirnamebasenamer*   )clsr?   r%   rA   rB   s        r    render_from_filezFileRenderer.render_from_file1   sH    '//(++7##H--s7||""8W555r"   )r5   r6   r   r   r?   r$   r%   r&   r   r$   r/   r0   r1   r!   classmethodrD   __classcell__r>   s   @r    r4   r4   &   s]        ! ! ! ! ! ! 6 6 6 [6 6 6 6 6r"   r4   c                  :     e Zd Zdd fdZedd            Z xZS )SphinxRendererNtemplate_path'Sequence[str | os.PathLike[str]] | Noner   r   c                    |%t           j                            t          d          }t	                                          |           d S )N	templates)r9   r   joinr   r=   r!   )r   rL   r>   s     r    r!   zSphinxRenderer.__init__9   s<     GLLkBBM'''''r"   r?   r$   r%   r&   c                8    t                               ||          S r(   )r4   rD   )rC   r?   r%   s      r    rD   zSphinxRenderer.render_from_file>   s    ,,Xw???r"   r(   )rL   rM   r   r   rE   rF   rI   s   @r    rK   rK   8   sj        ( ( ( ( ( ( (
 @ @ @ [@ @ @ @ @r"   rK   c                  &     e Zd Z	 	 d	d
 fdZ xZS )LaTeXRendererNrL   rM   latex_engine
str | Noner   r   c                   |'t           j                            t          dd          g}t	                                          |           t          t          j        |          }|| j	        j
        d<   || j	        j
        d<   t          j        | j	        j
        d<   d| j	        _        d| j	        _        d	| j	        _        d| j	        _        d
| j	        _        d| j	        _        d S )NrO   latex)rT   eescapeeabbrz<%=z%>z<%z<#z#>)r9   r   rP   r   r=   r!   r   r   rY   r   r   escape_abbrvariable_start_stringvariable_end_stringblock_start_stringblock_end_stringcomment_start_stringcomment_end_string)r   rL   rT   rY   r>   s       r    r!   zLaTeXRenderer.__init__D   s     W\\+{GLLMM''' )EEE &%+"$-$9! */&'+$&*#$(!(,%&*###r"   NN)rL   rM   rT   rU   r   r   r/   r0   r1   r!   rH   rI   s   @r    rS   rS   C   sH        PT,0+ + + + + + + + + + +r"   rS   c                  &     e Zd Z	 	 d	d
 fdZ xZS )ReSTRendererNrL   rM   languagerU   r   r   c                   t                                          |           | j                            |           t          j        | j        j        d<   t          j        | j        j        d<   t          j        | j        j        d<   d S )N)rf   rX   rY   heading)r=   r!   r   extendr   rY   r   rh   )r   rL   rf   r>   s      r    r!   zReSTRenderer.__init__[   sn    ''' 	*** !$
%(Z"&)k###r"   rb   )rL   rM   rf   rU   r   r   rc   rI   s   @r    re   re   Z   sH        PT(,
2 
2 
2 
2 
2 
2 
2 
2 
2 
2 
2r"   re   c                  "    e Zd ZdZdd	ZddZdS )SphinxTemplateLoaderz(A loader supporting template inheritanceconfdirstr | os.PathLike[str]templates_pathsr6   system_templates_pathsr   r   c                4   g | _         g | _        |D ]>}t          t          j        ||                    }| j                             |           ?|D ]E}t          |          }| j                             |           | j                            |           Fd S r(   )loaders
sysloadersr   r   rP   append)r   rl   rn   ro   templates_pathr   s         r    r!   zSphinxTemplateLoader.__init__k   s     - 	( 	(N+DIg~,N,NOOFL''''4 	+ 	+N+N;;FL'''O""6****	+ 	+r"   environmentr   templater$   tuple[str, str, Callable]c                    |                     d          r| j        }|dd          }n| j        }|D ]*}	 |                    ||          c S # t          $ r Y 'w xY wt	          |          )N!   )
startswithrr   rq   
get_sourcer	   )r   ru   rv   rq   r   s        r    r|   zSphinxTemplateLoader.get_sourcez   s    s## 	#oG|HHlG 	 	F((h?????#   x(((s   A
AAN)rl   rm   rn   r6   ro   r6   r   r   )ru   r   rv   r$   r   rw   )r/   r0   r1   __doc__r!   r|   r2   r"   r    rk   rk   h   sB        22+ + + +) ) ) ) ) )r"   rk   )$r}   
__future__r   r9   	functoolsr   r   typingr   r   r   jinja2r	   jinja2.loadersr
   jinja2.sandboxr   sphinxr   sphinx.jinja2gluer   sphinx.localer   sphinx.utilr   r   collections.abcr   jinja2.environmentr   r   r4   rK   rS   re   rk   r2   r"   r    <module>r      s$   - - " " " " " " 				             / / / / / / / / / / # # # # # # % % % % % % / / / / / /       4 4 4 4 4 4 ( ( ( ( ( ( & & & & & & & & /((((((......
< 
< 
< 
< 
< 
< 
< 
<6 6 6 6 6< 6 6 6$@ @ @ @ @\ @ @ @+ + + + +N + + +.2 2 2 2 2> 2 2 2) ) ) ) ): ) ) ) ) )r"   