U
    f                     @   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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   b/home/www/findmeahotel.co.uk/times_travel/venv/lib/python3.8/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>z\r?\nz +r   )r   splitr   r	   r   r   r   result_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   s2   t  }|rt t}| |   W 5 Q R X 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_dir-   s    
r(   c              	   C   s$   t | d}|d W 5 Q R X | S )Nwz*
i am an artificial template just for you
)openwrite)r   fr   r   r   file_with_template_code4   s
    r-      c              	   c   s8   t   | d  }td}||j _d V  W 5 Q R X d S )Ni  zmako.codegen.time)timer   patchZreturn_value)hoursZrewoundZcodegen_timer   r   r   rewind_compile_time>   s    r2   )TF)F)r.   )r   r&   r   r   r/   typingr   Zunittestr   r   r   strboolr   r$   r(   r-   contextmanagerr2   r   r   r   r   <module>   s*   
  



