ó
öÀ„\c           @   s×   d  Z  d d l Z d d l m Z d d l m Z d d l m Z d d l m	 Z	 e
 r{ d d l m Z d d l m Z n  d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   sÒ   
    sphinx.util.template
    ~~~~~~~~~~~~~~~~~~~~

    Templates utility functions for Sphinx.

    :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
iÿÿÿÿN(   t   SandboxedEnvironment(   t   package_dir(   t   SphinxFileSystemLoader(   t   get_translator(   t   Dict(   t
   BaseLoadert   BaseRendererc           B   s&   e  Z d d  „ Z d „  Z d „  Z RS(   c         C   sB   t  d | d d g ƒ |  _ t |  j j d <|  j j t ƒ  ƒ d  S(   Nt   loadert
   extensionss   jinja2.ext.i18nt   repr(   R    t   envR	   t   filterst   install_gettext_translationsR   (   t   selfR   (    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyt   __init__   s    c         C   s   |  j  j | ƒ j | ƒ S(   N(   R
   t   get_templatet   render(   R   t   template_namet   context(    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyR   !   s    c         C   s   |  j  j | ƒ j | ƒ S(   N(   R
   t   from_stringR   (   R   t   sourceR   (    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyt   render_string%   s    N(   t   __name__t
   __module__t   NoneR   R   R   (    (    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyR      s   	t   FileRendererc           B   s    e  Z d  „  Z e d „  ƒ Z RS(   c         C   s&   t  | ƒ } t t |  ƒ j | ƒ d  S(   N(   R   t   superR   R   (   R   t   search_pathR   (    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyR   +   s    c         C   s:   t  j j | ƒ } t  j j | ƒ } |  | ƒ j | | ƒ S(   N(   t   ost   patht   dirnamet   basenameR   (   t   clst   filenameR   R   R   (    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyt   render_from_file0   s    (   R   R   R   t   classmethodR"   (    (    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyR   *   s   	t   SphinxRendererc           B   s#   e  Z d d  „ Z e d „  ƒ Z RS(   c         C   s>   | d  k r$ t j j t d ƒ } n  t t |  ƒ j | ƒ d  S(   Nt	   templates(   R   R   R   t   joinR   R   R$   R   (   R   t   template_path(    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyR   9   s    c         C   s   t  j | | ƒ S(   N(   R   R"   (   R    R!   R   (    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyR"   ?   s    N(   R   R   R   R   R#   R"   (    (    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyR$   8   s   t   LaTeXRendererc           B   s   e  Z d  „  Z RS(   c         C   sb   t  j j t d d ƒ } t t |  ƒ j | ƒ d |  j _ d |  j _	 d |  j _
 d |  j _ d  S(   NR%   t   latexs   <%=s   %>s   <%(   R   R   R&   R   R   R(   R   R
   t   variable_start_stringt   variable_end_stringt   block_start_stringt   block_end_string(   R   R'   (    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyR   F   s    (   R   R   R   (    (    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyR(   E   s   (   t   __doc__R   t   jinja2.sandboxR    t   sphinxR   t   sphinx.jinja2glueR   t   sphinx.localeR   t   Falset   typingR   t   jinja2.loadersR   t   objectR   R   R$   R(   (    (    (    s3   lib/python2.7/site-packages/sphinx/util/template.pyt   <module>
   s   