ó
8ULSc           @   sŸ   d  d l  m  Z  d  d l Z d  d l Z e a d d d „  ƒ  YZ d d d e d d „ Z d d e d d	 „ Z d
 „  Z d „  Z	 d „  Z
 d „  Z d „  Z d S(   iÿÿÿÿ(   t   datetimeNt   sayc           B   s
  e  Z d  d e d  d d „ Z d  d „ Z d d „ Z d d „ Z e d	 „ Z d  d
 „ Z	 d  d „ Z
 d  d d  d „ Z d „  Z d d „ Z d „  Z d d d d „ Z d d d „ Z d d „ Z d „  Z d d „ Z d „  Z d d „ Z d „  Z d „  Z d „  Z RS(    t    i    s       c         C   s  t  rž |  j | d k r t n | ƒ |  j | d k r= t n | ƒ |  j | sV t n | ƒ |  j | d k ru t n | ƒ |  j	 | d k r” t
 n | ƒ nt |  j | ƒ |  j | ƒ |  j | ƒ |  j | ƒ |  j	 | ƒ |  j a |  j a |  j a |  j a |  j
 a
 t a  d  S(   Ns       i    R   (   t   IS_INITIALIZEDt	   set_labelt   LABELt   set_verboset   VERBOSEt
   set_dryrunt   DRYRUNt   set_timetagt   TIMETAGt
   set_prefixt   PREFIXt   True(   t   selft   labelt   verboset   dryrunt   timetagt   prefix(    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt   __init__	   s"    "					c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyR   0   s    i   c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyR   1   s    i   c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt	   set_debug2   s    c         C   s   | |  _  d  S(   N(   R	   (   R   R   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyR   3   s    c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyR
   4   s    c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyR   5   s    c         C   s¶   |  j  | k r² |  j rŽ | d k r1 d | } n  d } |  j d k ra t j ƒ  j |  j ƒ } n  d d g |  j | d |  j | d } n	 |  j } t j	 j
 | | d ƒ n  d  S(   NR   t   -s   DRYRUN t   %s   - s   
(   R   R   R   R    t   nowt   strftimeR	   R   t   syst   stderrt   write(   R   t   messaget	   thresholdt   seiwt   datet   message_prefix(    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyR   7   s    	-	c         C   s/   |  j  } d |  _ |  j | | ƒ | |  _  d  S(   NR   (   R   R   R   (   R   R   R   t   save(    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt   message_bareI   s    		t   Wc         C   s   |  j  | |  j | ƒ d  S(   N(   R   R   (   R   R   R    (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt   warnO   s    c         C   s   |  j  | |  j ƒ d  S(   N(   R$   R   (   R   R   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt	   warn_bareR   s    t   diet   Ec         C   s'   |  j  | |  j | ƒ t j | ƒ d  S(   N(   R   R   R   t   exit(   R   R   R    t   code(    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyR(   U   s    t   donet   Sc         C   s'   |  j  | |  j | ƒ t j d ƒ d  S(   Ni    (   R   R   R   R*   (   R   R   R    (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyR,   Y   s    t   Ic         C   s   |  j  | |  j | ƒ d  S(   N(   R   R   (   R   R   R    (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt   yell]   s    c         C   s   |  j  | |  j ƒ d  S(   N(   R$   R   (   R   R   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt	   yell_bare`   s    c         C   s   |  j  | d | ƒ d  S(   Ni   (   R   (   R   R   R    (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyR   c   s    c         C   s   |  j  | d ƒ d  S(   Ni   (   R$   (   R   R   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt   say_baref   s    c         C   s   |  j  | d | ƒ d  S(   Ni   (   R   (   R   R   R    (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt   debugi   s    c         C   s   |  j  | d ƒ d  S(   Ni   (   R$   (   R   R   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt
   debug_barel   s    c         C   s&   d |  j  |  j |  j |  j |  j f S(   NsD   say = isay(label='%s',verbose=%s,dryrun=%s,prefix='%s',timetag='%s')(   R   R   R	   R   R   (   R   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt   __repr__p   s    c         C   sD   d |  j  r |  j  n d |  j |  j |  j r6 |  j n d |  j f S(   NsZ       label   : '%s'
    verbose : %s
    dry run : %s
    time tag: '%s'
    prefix  : '%s's   (none)(   R   R   R	   R   R   (   R   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt   __str__s   s    (   t   __name__t
   __module__t   FalseR   R   R   R   R   R   R
   R   R   R$   R&   R'   R(   R,   R/   R0   R   R1   R2   R3   R4   R5   (    (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyR      s2   "						i   i   R   c         C   sÈ  d | | f } | r# d |  }  n›| d k rú |  | d k r` | t  |  ƒ d d d f }  q¾|  | d k r | t  |  ƒ d d f }  q¾|  | d k rº | t  |  ƒ d d	 f }  q¾|  | d k rç | t  |  ƒ d d f }  q¾| |  d f }  nÄ |  | d k r'| t  |  ƒ d d f }  n— |  | d k rT| t  |  ƒ d d f }  nj |  | d  k r| t  |  ƒ d! d f }  n= |  | d" k r®| t  |  ƒ d# d f }  n | |  d f }  |  j ƒ  S($   Ns   %%.%df%s%%ss   %si
   i   t   TBi	   t   GBi   t   MBi   t   kBt   Bi   i(   t   TiBi   t   GiBi   t   MiBt   kiBI ¥Ôè   i Êš;i Êš;i@B i@B iè  iè  I       I       i   @i   @i   i   i   i   (   t   floatt   strip(   t   sizet   digitst   baset   spacet   in_bytest   fractiont   format(    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt	   nice_size{   s.    !
c         C   s   t  |  | | d | | ƒ S(   Nt    (   RK   (   RD   RE   RF   RH   RI   (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt
   nice_wsize¤   s    c   	      C   s  d d  l  } d } d } x¿ | j j ƒ  D]® \ } } t | ƒ } | d k r( | j d ƒ d k ps | j d ƒ d k } | s‘ | j j | ƒ } n  | rÖ |  j | ƒ d k rÓ | t | ƒ k rÐ | } | } qÐ qÓ qÖ q( q( W| d k rï |  } n d | |  t | ƒ } | S(   NiÿÿÿÿR   i    s   /smeidbs   /smeidc/t   $(   t   ost   environt	   iteritemst   lent   findt   patht   isdir(	   t   specRO   t
   match_namet   match_valuet   namet   valuet   nt   existst   rtn(    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt   hide_env§   s$    *	c         C   s(   t  j d |  d ƒ j ƒ  j d ƒ d S(   Ns   which s    2> /dev/nulls   
i    (   RO   t   popent   readt   split(   t   program(    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt   whichÈ   s    c         C   sF   t  d d t ƒ  f ƒ } t  |  ƒ t j |  ƒ j ƒ  } t  | ƒ | S(   Ns   %s.%st   run_cmd(   R   t   whoamiRO   R_   R`   (   t   cmdt   say_instt   log(    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyRd   Ì   s
    

c           C   s   t  j d ƒ j j S(   Ni   (   R   t	   _getframet   f_codet   co_name(    (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyRe   Õ   s    c         C   s¿   t  d d t ƒ  f ƒ } t  d |  ƒ t d |  d d ƒ } | j d ƒ } d } xP | D]H } |  | k rZ d | k rZ | d	 7} | r¢ t j j | d ƒ q¢ qZ qZ Wt d
 | d |  ƒ | S(   Ns   %s.%st   count_instancess   checking process: %ss   ps -efw | grep "t   "i    s   
t   grepi   s   %ds   instance(s) running: %s(   R   Re   Rd   Ra   R   R   R   R2   (   RY   R   Rg   t   proct   cntt   p(    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyRl   Ø   s    
(    (   R    R   RO   R8   R   R   RK   RM   R^   Rc   Rd   Re   Rl   (    (    (    s,   /home/soft/smei/ucsd/gen/python/tiny_bits.pyt   <module>   s   t)	!				