
    +hW              	           d dl Z d dlZd dlmZ d dlZd dlZd dlmZ d dlmZ d Z	d Z
d Z	 	 ddeeef   d	ed
edefdZddZd Zd Ze j$                  dd       Zy)    N)Path)Union)mockc                 L    t        j                  dd|       j                         S )Nz	[\s\r\n]+ )resubstrip)results    G/var/www/html/venv/lib/python3.12/site-packages/mako/testing/helpers.pyflatten_resultr   
   s    66,V,2244    c                     t        j                  dt        j                  dd|             D cg c]%  }|j                         dk7  r|j                         ' c}S c c}w )N\r?\nz +r    )r   splitr	   r
   r   xs     r   result_linesr      sO     (BFF5#v$>?779? 	
	  s   *Ac                 |    t        j                  d|       D cg c]  }|j                         dk7  s| c}S c c}w )Nr   r   )r   r   r
   r   s     r   result_raw_linesr      s-    xx&1E!QWWY"_AEEEs   99filespecmake_absolutecheck_existsreturnc                     t        |       }|r|j                  |      }|r|j                         st        d|        |S )N)strictzNo file or directory at )r   resolveexistsFileNotFoundError)r   r   r   paths       r   	make_pathr"      sC    
 >D||<|0T[[]":8* EFFKr   c                     t        j                         }|rt        j                  t              }|5  | j	                          d d d        y # 1 sw Y   y xY w)N)
contextlibnullcontextsuppressr    unlink)r!   
missing_okcms      r   _unlink_pathr*   '   sE    				!B  !23	   s   AAc                 n    t        j                  |       }t        |d       |j                  d       |S )NT)r(   )exist_ok)pathlibr   r*   mkdir)pathspecr!   s     r   replace_file_with_dirr0   1   s-    <<!D$'JJJKr   c                 l    t        | d      5 }|j                  d       d d d        | S # 1 sw Y   | S xY w)Nwz*
i am an artificial template just for you
)openwrite)r   fs     r   file_with_template_coder6   8   s=    	h	 
		

 O
 Os   )3c              #      K   t        j                          | dz  z
  }t        j                  d      5 }||j                   _        d  d d d        y # 1 sw Y   y xY ww)Ni  zmako.codegen.time)timer   patchreturn_value)hoursrewoundcodegen_times      r   rewind_compile_timer>   B   sN     iikUU]+G	'	( L)0&  s   0AA	AAA)TF)F)   )r$   r-   r   r   r8   typingr   unittestr   r   r   r   strboolr"   r*   r0   r6   contextmanagerr>    r   r   <module>rF      s       	   5F 
D#I

 
 
	
  r   