
]c           @   sG   d  Z  d d l Z d d l Z d d l m Z d d  Z d   Z d S(   s   io-related utilitiesiN(   t   PY3t   stdoutc         C   se   |  d k s t   t t |   }  t rL y |  j } WqR t k
 rH |  SXn |  } t j 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   t   stderrs   utf-8(   R   R   (   t   AssertionErrort   getattrt   sysR    t   buffert   AttributeErrort   codecst	   getwriter(   t   streamt   stream_b(    (    s1   lib/python2.7/site-packages/nbconvert/utils/io.pyt   unicode_std_stream   s    
c          C   sM   t  j }  t r4 y |  j } Wq: t k
 r0 |  SXn |  } t j d  |  S(   u   Get 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()
    s   utf-8(   R   t   stdinR    R   R   R   t	   getreader(   R
   R   (    (    s1   lib/python2.7/site-packages/nbconvert/utils/io.pyt   unicode_stdin_stream#   s    		(   t   __doc__R   R   t   ipython_genutils.py3compatR    R   R   (    (    (    s1   lib/python2.7/site-packages/nbconvert/utils/io.pyt   <module>   s
   