U
    c                     @   sv   d dl Z d dlZd dlZddlmZ dd Zdd Zdd
dZdd Zdd Z	ej
dd Zdd Zdd Ze  dS )    N   )AnsiToWin32c                   C   s@   d a d ad ad adadaztt W n t	k
r:   Y nX d S )NF)
orig_stdoutorig_stderrwrapped_stdoutwrapped_stderratexit_donefixed_windows_consoleatexit
unregister	reset_allAttributeError r   r   7/tmp/pip-unpacked-wheel-sbtr0pc4/colorama/initialise.py_wipe_internal_state_for_tests	   s    r   c                   C   s   t d k	rt t  d S N)r   r   r   r   r   r   r   r       s    r   FTc                 C   s   |st | ||grtdtjatjatjd kr6d antt||| | t_atjd kr\d a	ntt||| | t_a	t
stt da
d S )Nz,wrap=False conflicts with any other arg=TrueT)any
ValueErrorsysstdoutr   stderrr   r   wrap_streamr   r   r
   registerr   )	autoresetconvertstripwrapr   r   r   init%   s    


r   c                   C   s    t d k	rt t_td k	rtt_d S r   )r   r   r   r   r   r   r   r   r   deinitA   s    r   c                  C   sn   t jdkrd S trd S td k	s&td k	r*d S tt jd d dd} | jrH| t _tt jd d dd}|jrf|t _dad S )Nwin32Fr   r   r   T)	r   platformr	   r   r   r   r   r   r   )Z
new_stdoutZ
new_stderrr   r   r   just_fix_windows_consoleH   s    
r"   c                  o   s"   t | | z
d V  W 5 t  X d S r   )r   r   )argskwargsr   r   r   colorama_text_   s    

r%   c                   C   s    t d k	rt t_td k	rtt_d S r   )r   r   r   r   r   r   r   r   r   reinith   s    r&   c                 C   s&   |r"t | |||d}| r"|j} | S )Nr    )r   should_wrapstream)r(   r   r   r   r   wrapperr   r   r   r   o   s      r   )FNNT)r
   
contextlibr   ansitowin32r   r   r   r   r   r"   contextmanagerr%   r&   r   r   r   r   r   <module>   s   


