File: //opt/alt/python27/lib/python2.7/site-packages/mako/codegen.pyc
�
�ǚPc @ s d Z d d l Z d d l Z d d l m Z d d l m Z m Z m Z m Z m
Z
d Z e d d d g � Z
e e e e e e e e e f d �
Z d
e f d � � YZ d e f d
� � YZ d e f d � � YZ e j d � Z d � Z d e f d � � YZ d S( sV provides functionality for rendering a parsetree constructing into module
source code.i����N( t
PythonPrinter( t utilt astt parsetreet filterst
exceptionsi t contextt loopt UNDEFINEDc C s� t j r+ t | t � r+ | j | � } n t j � } t | � }
t |
t | | | | | | | | | |
| � | � | j � S( s[ Generate module source code given a parsetree node,
uri, and optional source filename(
R t py3kt
isinstancet unicodet encodet FastEncodingBufferR t _GenerateRenderMethodt _CompileContextt getvalue( t nodet urit filenamet default_filterst buffer_filterst importst source_encodingt generate_magic_commentt disable_unicodet strict_undefinedt enable_loopt reserved_namest buft printer( ( s= /opt/alt/python27/lib/python2.7/site-packages/mako/codegen.pyt compile s$ R c B s e Z d � Z RS( c C sg | | _ | | _ | | _ | | _ | | _ | | _ | | _ | | _ | | _ |
| _ | | _
d S( N( R R R R R R R R R R R ( t selfR R R R R R R R R R R ( ( s= /opt/alt/python27/lib/python2.7/site-packages/mako/codegen.pyt __init__A s ( t __name__t
__module__R! ( ( ( s= /opt/alt/python27/lib/python2.7/site-packages/mako/codegen.pyR @ s R c B s e Z d Z d � Z e d � � Z d � Z d � Z d � Z d � Z d � Z
e d d � Z
d � Z d
� Z d � Z e d � Z e e d
� Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z d � Z RS( s] A template visitor object which generates the
full module source for a template.
c C s7 | | _ d | _ | | _ | | _ d g | _ t | t j t j f � | _
| j
r� d | j } | j � } t
| j j � d k } t | j j d d � � } t | j j d d � � } d } d }
| j r�| j r�| d g 7} q�n� | j � } | j j }
d } |
d k r�|
j j � } |
j j sE| d g 7} n t |
j j d d � � } | j j p�t |
j j d d � � | j _ n d g } t } t } } | d k r�d
g } n g d
g | D] } | ^ q�} | j |
p�| | | | | | � | d k r3x! | D] } t | | | � qWn d S( Ni����s render_%si t bufferedt Falset cacheds
**pageargst render_bodyR R ( R t last_source_linet compilerR t Nonet identifier_stackR
R t DefTagt BlockTagt in_deft funcnamet get_argument_expressionst lent filter_argst argst evalt
attributest gett is_blockt is_anonymoust write_toplevelt pagetagt body_declt kwargsR R% t write_render_callableR ( R R R) R t nameR3 t filteredR$ R&