
    _f                     d    d dl mZ d dlmZ d dlmZ d dlmZ d Z G d dej	        e          Z
dS )	    )nodes)	Extension)TemplateSyntaxError)compressc                 l    t          | t          j                  rt          j        | j                  S | S )N)
isinstancer   NameConstname)nodes    N/var/www/html/env/lib/python3.11/site-packages/compressor/contrib/jinja2ext.pyconstr   	   s-    $
## {49%%%    c                   D    e Zd Z edg          Zd Zd Zd Zd Zd Z	dS )CompressorExtensionr   c                    |j         j        j        }t          |j                    g }t	          |                                          }|j        | j        v r|                    |           nAt          d| j        
                                d|j        |j         j        j                  |j                             d           t          j        d           }t          j        d          }|j         j        j        dk    rt	          |                                          }|                    |           |j        t          j        k    r7|j         j        j        dk    r!t	          |                                          }n_|j        t          j        k    s|j        t          j        k    rn4t          dt          j        d|j        |j         j        j                  |                    dgd	
          }|j                             d|j        z              t          j        |                     d|||g          g g |                              |          S )NzCompress kind may be one of: z, got: commafile	block_endzCompress mode may be one of: z, got zname:endcompressT)drop_needlezname:_compress_normal)streamcurrentlinenonextr   parse_expressionvaluecompressorsappendr   keysskip_ifr   r
   typer   OUTPUT_FILEOUTPUT_INLINEOUTPUT_PRELOADOUTPUT_MODESparse_statements	CallBlockcall_method
set_lineno)selfparserr   argskindargnameargmodeargbodys           r   parsezCompressorExtension.parse   s8   &-V]//1122=D,,,KK    %%#((****GMM;%,   	g&&& +d##+f%% = %44F335566GKK   } 444=(-<<#F$;$;$=$=>>G!777=H$;;;)),,,gmm=M)0   &&(:';&NN 	g5666/'7G1LMM	
 

 *V

	r   c                 4    |                      ||||d          S )NT	_compressr+   kindmoder   callers        r   _compress_forcedz$CompressorExtension._compress_forcedO   s    ~~dD$===r   c                 4    |                      ||||d          S )NFr4   r6   s        r   r   z$CompressorExtension._compress_normalR   s    ~~dD$>>>r   c                 n    |pt           j        } |            }d|i}|                     |||||          S )Noriginal_content)forced)r   r#   render_compressed)r+   r7   r8   r   r9   r>   r=   contexts           r   r5   zCompressorExtension._compressU   sE    +x+!688%'78%%gtT4%OOOr   c                     |d         S )Nr=    )r+   r@   s     r   get_original_contentz(CompressorExtension.get_original_content[   s    )**r   N)
__name__
__module____qualname__settagsr2   r:   r   r5   rC   rB   r   r   r   r      st        3
|D9 9 9v> > >? ? ?P P P+ + + + +r   r   N)jinja2r   
jinja2.extr   jinja2.exceptionsr   compressor.templatetagsr   r   CompressorMixinr   rB   r   r   <module>rN      s                      1 1 1 1 1 1 , , , , , ,  L+ L+ L+ L+ L+(2I L+ L+ L+ L+ L+r   