a
    e	gW                     @   s   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d Z	dd Z
d	d
 Zdeeef eeedddZdddZdd Zdd Ze jdddZdS )    N)Path)Union)mockc                 C   s   t dd|  S )Nz	[\s\r\n]+ )resubstripresult r   W/var/www/html/llm_bihealth/app/venv/lib/python3.9/site-packages/mako/testing/helpers.pyflatten_result
   s    r   c              	   C   s    dd t dt dd| D S )Nc                 S   s    g | ]}|  d kr|  qS  r   .0xr   r   r   
<listcomp>   s   z result_lines.<locals>.<listcomp>\r?\nz +r   )r   splitr   r	   r   r   r   result_lines   s    r   c                 C   s   dd t d| D S )Nc                 S   s   g | ]}|  d kr|qS r   r   r   r   r   r   r          z$result_raw_lines.<locals>.<listcomp>r   )r   r   r	   r   r   r   result_raw_lines   s    r   TF)filespecmake_absolutecheck_existsreturnc                 C   s6   t | }|r|j|d}|r2| s2td|  |S )N)strictzNo file or directory at )r   resolveexistsFileNotFoundError)r   r   r   pathr   r   r   	make_path   s    r#   c                 C   sF   t  }|rt t}| |   W d    n1 s80    Y  d S )N)
contextlibnullcontextsuppressr!   unlink)r"   
missing_okcmr   r   r   _unlink_path'   s
    
r*   c                 C   s&   t | }t|dd |jdd |S )NT)r(   )exist_ok)pathlibr   r*   mkdir)Zpathspecr"   r   r   r   replace_file_with_dir1   s    
r.   c                 C   s8   t | d}|d W d    n1 s*0    Y  | S )Nwz*
i am an artificial template just for you
)openwrite)r   fr   r   r   file_with_template_code8   s
    "r3      c                 c   sL   t   | d  }td}||j _d V  W d    n1 s>0    Y  d S )Ni  zmako.codegen.time)timer   patchZreturn_value)hoursZrewoundZcodegen_timer   r   r   rewind_compile_timeB   s    r8   )TF)F)r4   )r$   r,   r   r   r5   typingr   Zunittestr   r   r   r   strboolr#   r*   r.   r3   contextmanagerr8   r   r   r   r   <module>   s,     



