ó
]c           @@  są   d  d l  m Z d  d l m Z d  d l m Z m Z d  d l Z e j Z d d l	 m
 Z
 e d  d k r¬ e Z e Z d  d l m Z e Z d  d	 l m Z e Z e Z n e Z e Z e Z e Z e Z d
   Z d   Z d S(   i    (   t   absolute_import(   t   datetime(   t   isnant   isinfNi   (   t   NUMERIC_TYPESi   (   t   BufferedReader(   t   BufferedRandomc         C@  s   t  |  t  r= t |   s' t |   r0 d }  q d |  }  nQ |  d k rR d }  n< t  |  t  rp |  j   }  n t  |  t  s t |   }  n  |  S(   s-   Safely and consistently format numeric valuest    s   %.16gt   noneN(	   t
   isinstanceR   R   R   t   NoneR   t	   isoformatt
   basestringt   str(   t   value(    (    s6   lib/python2.7/site-packages/openpyxl/compat/strings.pyt   safe_string   s    		c         C@  s$   t  d d k r |  S|  j d d  S(   s6   
    Safely convert unicode to ASCII for Python 2
    i    i   t   asciit   backslashreplace(   t   VERt   encode(   R   (    (    s6   lib/python2.7/site-packages/openpyxl/compat/strings.pyt	   safe_repr,   s    (   t
   __future__R    R   t   mathR   R   t   syst   version_infoR   t   numbersR   R   R   t   unicodet   ioR   t   fileR   t   tempfilet   bytesR   R   (    (    (    s6   lib/python2.7/site-packages/openpyxl/compat/strings.pyt   <module>   s(   			