ó
ªpýOc           @   s®   d  Z  d d l Z e j d k  rD e Z Z d Z d d l m Z n3 d d l	 Z	 e	 j Z d Z d „  Z e
 d	 ƒ j Z e j d k  rª d d l Z i  i  g  d d „ Z
 n  d S(   sÊ  
Python 2/3 compatibility definitions.

This module currently provides the following helper symbols:

* bytes (name of byte string type; str in 2.x, bytes in 3.x)
* b (function converting a string literal to an ASCII byte string;
  can be also used to convert a Unicode string into a byte string)
* u_prefix (unicode repr prefix: 'u' in 2.x, '' in 3.x)
  (Required in docutils/test/test_publisher.py)
* BytesIO (a StringIO class that works with bytestrings)
iÿÿÿÿNi   i    t   u(   t   StringIOt    c         C   sF   t  |  t ƒ r |  j d ƒ St  |  t ƒ r/ |  St d |  f ƒ ‚ d  S(   Nt   latin1s   Invalid argument %r for b()(   t
   isinstancet   strt   encodet   bytest	   TypeError(   t   s(    (    s4   /usr/lib/python2.7/dist-packages/docutils/_compat.pyt   b   s
    t   ioi   i   c         C   s   t  j |  | | | ƒ S(   sx   Compatibility definition for Python 2.4.

        Silently ignore the `level` argument missing in Python < 2.5.
        (   t   __builtin__t
   __import__(   t   namet   globalst   localst   fromlistt   level(    (    s4   /usr/lib/python2.7/dist-packages/docutils/_compat.pyR   *   s    (   i   i    (   i   i   (   t   __doc__t   syst   version_infoR   R
   R   t   u_prefixR   t   BytesIOt   builtinsR   R   (    (    (    s4   /usr/lib/python2.7/dist-packages/docutils/_compat.pyt   <module>   s   
			