³ò
Ü‘RMc           @   s[   d  Z  d d k Z d d k l Z d d k l Z d d d „  ƒ  YZ e ƒ  Z d „  Z d S(	   s   
A color print.
iÿÿÿÿN(   t
   ansi_print(   t   Drivert   AnsiLogc           B   s¤   e  Z e Z h  d e f d <d e f d <d e f d <d e f d <d e f d <d e f d <d e f d	 <d e f d <Z h  d d „ Z d „  Z RS(   i   t   redi   t   boldt   WARNINGt   eventt   ERRORt   Errori#   t   infoi"   t   stubc         C   sƒ   |  i  i ƒ  |  _ |  i i | ƒ | |  _ t |  _ t t i	 d d „  ƒ |  _
 |  i o |  i
 ƒ  o t ƒ  |  _ n
 d  |  _ d  S(   Nt   isattyc           S   s   t  S(    (   t   False(    (    (    s(   /64/home/arigo/u/pypy/tool/ansi_print.pyt   <lambda>   s    (   t   KW_TO_COLORt   copyt   kw_to_colort   updatet   filet   Truet   fancyt   getattrt   syst   stderrR   R   t   mandelbrot_drivert   None(   t   selfR   R   (    (    s(   /64/home/arigo/u/pypy/tool/ansi_print.pyt   __init__   s    		c         C   sõ  |  i  ƒ  } t } t } g  } g  } xb | i D]W } |  i i | d  t f ƒ \ } }	 | o | i | ƒ n |	 p | i | ƒ q. q. Wd | j o( | o t } t } | i	 d ƒ qln¯ d | j o | o t
 i Jd  Sqlnˆ d | j oz | oo |  i o, t i p |  i i ƒ  n |  i i ƒ  n) t d t | ƒ d |  i d t d | ƒt t _ d  Sqln t i o t t _ t
 i i d ƒ n t | ƒ } xO | i ƒ  i ƒ  D]; }
 t d	 d
 i | ƒ |
 f | d |  i d | d | ƒq²Wd  S(   Nt   startt   donet   dott   .R   t   newlinet   flushs   
s   [%s] %st   :(   R   R   R   t   keywordsR   t   getR   t   extendt   appendt   removeR   R   R   R   t	   wrote_dotR   t   resetR   R    t   tupleR   t   writet   contentt
   splitlinest   join(   R   t   msgt   ttyR!   R    R#   t   esct   kwt   colort   supresst   line(    (    s(   /64/home/arigo/u/pypy/tool/ansi_print.pyt   __call__#   sL    
 !

(	
	 (   i   (   i   (   i   (   i   (   i   i   (   i   i   (   i#   (   i"   N(	   t   __name__t
   __module__R   R(   R   R   R   R   R6   (    (    (    s(   /64/home/arigo/u/pypy/tool/ansi_print.pyR   	   s   c             s   t  i ƒ  \ } } } t | ƒ ‰  d | f ‡  ‡ f d †  ƒ  Y} | i d | _ | i | _ y | | _ Wn t j
 o n X| | | ‚ d  S(   Nt   ExcSubclassc              s   e  Z ‡  ‡ f d  †  Z RS(   c            s;   ˆ  g } x" ˆ D] } | i  d | f ƒ q Wd i | ƒ S(   Ns   	.. %rs   
(   R&   R.   (   R   t   linest   extra(   t   str_et	   extraargs(    s(   /64/home/arigo/u/pypy/tool/ansi_print.pyt   __str__S   s
    	 (   R7   R8   R>   (    (   R<   R=   (    s(   /64/home/arigo/u/pypy/tool/ansi_print.pyR9   R   s   t   '(   R   t   exc_infot   strR7   R8   t	   __class__t	   TypeError(   R=   t   clst   et   tbR9   (    (   R<   R=   s(   /64/home/arigo/u/pypy/tool/ansi_print.pyt   raise_nicer_exceptionO   s    (    (	   t   __doc__R   t   py.ioR    t   pypy.tool.ansi_mandelbrotR   R   t   ansi_logRG   (    (    (    s(   /64/home/arigo/u/pypy/tool/ansi_print.pys   <module>   s   A	
