B
    [/                 @   s6   d Z ddlZddlZddlmZ d	ddZdd ZdS )
zio-related utilities    N)PY3stdoutc             C   sN   | dkst tt| } tr<y
| j}W q@ tk
r8   | S X n| }td|S )u   Get a wrapper to write unicode to stdout/stderr as UTF-8.

    This ignores environment variables and default encodings, to reliably write
    unicode to stdout or stderr.

    ::

        unicode_std_stream().write(u'ł@e¶ŧ←')
    )r   stderrzutf-8)AssertionErrorgetattrsysr   bufferAttributeErrorcodecs	getwriter)streamstream_b r   1lib/python3.7/site-packages/nbconvert/utils/io.pyunicode_std_stream   s    


r   c              C   s>   t j} tr,y
| j}W q0 tk
r(   | S X n| }td|S )zGet a wrapper to read unicode from stdin as UTF-8.

    This ignores environment variables and default encodings, to reliably read unicode from stdin.

    ::

        totreat = unicode_stdin_stream().read()
    zutf-8)r   stdinr   r   r	   r
   	getreader)r   r   r   r   r   unicode_stdin_stream#   s    	
r   )r   )__doc__r
   r   Zipython_genutils.py3compatr   r   r   r   r   r   r   <module>   s
   
