ó
Ž^Nc           @   s0   d  d l  m Z d „  Z d d d „  ƒ  YZ d S(   iÿÿÿÿ(   t   stdoutc         C   sX   d  } t |  ƒ t k rN t |  ƒ t k r? |  j d d ƒ } qT t |  ƒ } n |  } | S(   Nt   asciit   ignore(   t   Nonet   typet   strt   unicodet   encode(   t   objt   retval(    (    s'   /srv/kernel/kteam-tools/libs/ktl/dbg.pyt   _o2ascii
   s    t   Dbgc           B   s’   e  Z d  Z g  Z d Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 e d „  ƒ Z
 e d „  ƒ Z e d „  ƒ Z e d	 „  ƒ Z RS(
   st   
    A class which hopefully makes adding debug print statements easier and outputs better
    looking results.
    i    c         C   s/   t  j d |  j d d | f ƒ t  j ƒ  d  S(   Ns   %*s%si   t    (   R    t   writet   indent_levelt   flush(   t   clst   txt(    (    s'   /srv/kernel/kteam-tools/libs/ktl/dbg.pyt   __print   s    !c         C   s   |  j  | ƒ d  S(   N(   t   _Dbg__print(   R   R   (    (    s'   /srv/kernel/kteam-tools/libs/ktl/dbg.pyt   p$   s    c         C   s6   d |  j  k r2 |  j d | ƒ |  j d 7_ n  d S(   s=   
        Print a debug message preceeded by 'Enter'.
        t   enters
   Enter: %s
i   N(   t   levelsR   R   (   R   R   (    (    s'   /srv/kernel/kteam-tools/libs/ktl/dbg.pyR   (   s    c         C   s6   d |  j  k r2 |  j d 8_ |  j d | ƒ n  d S(   s=   
        Print a debug message preceeded by 'Leave'.
        t   leavei   s
   Leave: %s
N(   R   R   R   (   R   R   (    (    s'   /srv/kernel/kteam-tools/libs/ktl/dbg.pyR   1   s    c         C   sB   d |  j  k r> |  j d 8_ |  j d | t | ƒ f ƒ n  d S(   s=   
        Print a debug message preceeded by 'Leave'.
        R   i   s   Return: %s (%s)
N(   R   R   R   R
   (   R   R   t   result(    (    s'   /srv/kernel/kteam-tools/libs/ktl/dbg.pyt   ret:   s    c         C   s#   d |  j  k r |  j | ƒ n  d S(   s=   
        Print a debug message preceeded by 'Leave'.
        t   verboseN(   R   R   (   R   R   (    (    s'   /srv/kernel/kteam-tools/libs/ktl/dbg.pyR   C   s    c         C   s'   d |  j  k r# |  j d | ƒ n  d S(   s@   
        Print a debug message preceeded by 'Warning:'.
        t   warnings   Warning: %s
N(   R   R   (   R   R   (    (    s'   /srv/kernel/kteam-tools/libs/ktl/dbg.pyt   warnK   s    c         C   s'   d |  j  k r# |  j d | ƒ n  d S(   s>   
        Print a debug message preceeded by 'Error:'.
        t   errors
   Error: %s
N(   R   R   (   R   R   (    (    s'   /srv/kernel/kteam-tools/libs/ktl/dbg.pyR   S   s    (   t   __name__t
   __module__t   __doc__R   R   t   classmethodR   R   R   R   R   R   R   R   (    (    (    s'   /srv/kernel/kteam-tools/libs/ktl/dbg.pyR      s   			N(    (   t   sysR    R
   R   (    (    (    s'   /srv/kernel/kteam-tools/libs/ktl/dbg.pyt   <module>   s   	