Ñò
•èRc           @   sQ   d  Z  d d k Z d d k Z d d k l Z d e f d „  ƒ  YZ e ƒ  Z d S(   s   Logging
iÿÿÿÿN(   t   backwardcompatt   Loggerc           B   s   e  Z d  Z e i d Z e i Z e i Z e i e i d Z e i Z Z	 e i
 Z
 e i Z e e e e e e
 e g Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d d „ Z d d „ Z d „  Z d „  Z d „  Z e d „  ƒ Z d „  Z RS(   s‰   
    Logging object for use in command-line script.  Allows ranges of
    levels, to avoid some redundancy of displayed information.
    i   i   c         C   s1   g  |  _  d |  _ t |  _ d  |  _ t |  _ d  S(   Ni    (   t	   consumerst   indentt   Falset   explicit_levelst   Nonet   in_progresst   in_progress_hanging(   t   self(    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   __init__   s
    				c         O   s   |  i  |  i | | | Ž d  S(   N(   t   logt   DEBUG(   R	   t   msgt   argst   kw(    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   debug    s    c         O   s   |  i  |  i | | | Ž d  S(   N(   R   t   INFO(   R	   R   R   R   (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   info#   s    c         O   s   |  i  |  i | | | Ž d  S(   N(   R   t   NOTIFY(   R	   R   R   R   (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   notify&   s    c         O   s   |  i  |  i | | | Ž d  S(   N(   R   t   WARN(   R	   R   R   R   (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   warn)   s    c         O   s   |  i  |  i | | | Ž d  S(   N(   R   R   (   R	   R   R   R   (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   error,   s    c         O   s   |  i  |  i | | | Ž d  S(   N(   R   t   FATAL(   R	   R   R   R   (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   fatal/   s    c         O   sJ  | o | o t  d ƒ ‚ q" n | p | } d  } x|  i D]\ } } |  i | | ƒ oä |  i oC | t i t i f j o* t |  _ t i i	 d ƒ t i i
 ƒ  n | d  j oN | o | | } n | } d |  i | } |  i o d | | f } qn t | d ƒ o | d 7} t i | | ƒ qB| | ƒ q? q? Wd  S(   Ns6   You may give positional or keyword arguments, not boths   
t    s   %02i %st   write(   t	   TypeErrorR   R   t   level_matchesR   t   syst   stdoutt   stderrR   R   t   flushR   R   t   hasattrR    t   fwrite(   R	   t   levelR   R   R   t   renderedt   consumer_levelt   consumer(    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyR   2   s2    
 
	

c         C   s    |  i  |  i ƒ o t i i ƒ  S(   s$   Should we display download progress?(   t   stdout_level_matchesR   R   R   t   isatty(   R	   (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   _show_progressO   s    c         C   sƒ   |  i  p t d | |  i  f ‚ |  i ƒ  o5 t i i d |  i | ƒ t i i ƒ  t |  _	 n
 t
 |  _	 | |  _  d  |  _ d  S(   Ns0   Tried to start_progress(%r) while in_progress %rR   (   R   t   AssertionErrorR*   R   R   R   R   R!   t   TrueR   R   R   t   last_message(   R	   R   (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   start_progressS   s    		s   done.c         C   s°   |  i  p
 t d ‚ |  i ƒ  oy |  i p0 t i i d |  i  | d ƒ t i i ƒ  qš t i	 d ƒ t i	 d ƒ t i i | d ƒ t i i ƒ  n d  |  _  t |  _ d  S(   Ns,   Tried to end_progress without start_progresss   ...s   
t    (   R   R+   R*   R   R   R   R   R!   t   loggert   show_progressR   R   (   R	   R   (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   end_progress`   s    
	c         C   sº   |  i  o¬ | d j o! t i i d ƒ t i i ƒ  q¶ |  i o* d t d t |  i ƒ t | ƒ ƒ } n d } t i i d d |  i	 |  i
 | | f ƒ t i i ƒ  | |  _ n d S(   sa   If we are in a progress scope, and no log messages have been
        shown, write out another '.'t   .R   i    R/   s	   %s%s%s%sN(   R   R   R   R   R   R!   R-   t   maxt   lenR   R   (   R	   t   messaget   padding(    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyR1   q   s    

*c         C   s   |  i  | |  i ƒ  ƒ S(   s9   Returns true if a message at this level will go to stdout(   R   t   _stdout_level(   R	   R$   (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyR(   ‚   s    c         C   s6   x, |  i  D]! \ } } | t i j o | Sq
 W|  i S(   s%   Returns the level that stdout runs at(   R   R   R   R   (   R	   R$   R'   (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyR8   †   s
    
 	c         C   st   t  | t ƒ oV | i | i } } | d j	 o | | j o t S| d j	 p | | j o t St S| | j Sd S(   sm  
        >>> l = Logger()
        >>> l.level_matches(3, 4)
        False
        >>> l.level_matches(3, 2)
        True
        >>> l.level_matches(slice(None, 3), 3)
        False
        >>> l.level_matches(slice(None, 3), 2)
        True
        >>> l.level_matches(slice(1, 3), 1)
        True
        >>> l.level_matches(slice(2, 3), 1)
        False
        N(   t
   isinstancet   slicet   startt   stopR   R   R,   (   R	   R$   R&   R;   R<   (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyR      s    c         C   sC   |  i  } | d j  o	 | d S| t | ƒ j o	 | d S| | S(   Ni    iÿÿÿÿ(   t   LEVELSR5   (   t   clsR$   t   levels(    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   level_for_integer§   s    			c         C   s˜   g  } g  } xT |  i  D]I \ } } | t i j o- | i | | f ƒ | i | t i f ƒ q q Wx | D] } |  i  i | ƒ qj W|  i  i | ƒ d  S(   N(   R   R   R   t   appendR    t   removet   extend(   R	   t	   to_removet   to_addR&   R'   t   item(    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   move_stdout_to_stderr°   s    
  N(    t   __name__t
   __module__t   __doc__t   loggingR   t   VERBOSE_DEBUGR   R   R   t   WARNINGt   ERRORR   R=   R
   R   R   R   R   R   R   R   R*   R.   R2   R   R1   R(   R8   R   t   classmethodR@   RG   (    (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyR   
   s4   																		(   RJ   R   RK   t   pipR    t   objectR   R0   (    (    (    sC   /var/www/html/kasc-wg8/erics/lib/python2.6/site-packages/pip/log.pyt   <module>   s
   ±