³ò
€Hc           @   s‹   d  „  Z  d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z	 d
 „  Z
 d „  Z d „  Z d „  Z d „  Z d S(   c         C   sE   d d k  l } d d  k } t |  ƒ d j o d Sn | |  ƒ Sd  S(   Niÿÿÿÿ(   t   existsi    (   t	   posixpathR    t   stringt   len(   t	   file_nameR    R   (    (    s   bin/python/utils.pyt   file_exists   s
    c         C   s)   d d k  l } t | d „ |  i ƒ  ƒ S(   Niÿÿÿÿ(   t   stripc         S   s
   | |  ƒ S(    (    (   t   st   f(    (    s   bin/python/utils.pyt   <lambda>   s    (   R   R   t   mapt	   readlines(   t   fdR   (    (    s   bin/python/utils.pyR      s    c         C   s:   |  } x, | D]$ } | | j o | i  | ƒ q q W| S(   N(   t   append(   t   at   bt   rest   x(    (    s   bin/python/utils.pyt   seq_join   s     c         C   s9   g  } x, |  D]$ } | | j o | i  | ƒ q q W| S(   N(   R   (   R   R   R   R   (    (    s   bin/python/utils.pyt   seq_meet&   s     c         C   s9   g  } x, |  D]$ } | | j o | i  | ƒ q q W| S(   N(   R   (   R   R   R   R   (    (    s   bin/python/utils.pyt   seq_diff.   s     c         C   sh   h  } x" |  i  ƒ  D] } |  | | | <q Wx6 | i  ƒ  D]( } | i | ƒ p | | | | <q8 q8 W| S(   N(   t   keyst   has_key(   R   R   R   R   (    (    s   bin/python/utils.pyt   map_join;   s      c         C   sC   h  } x6 |  i  ƒ  D]( } | i | ƒ o |  | | | <q q W| S(   N(   R   R   (   R   R   R   R   (    (    s   bin/python/utils.pyt   map_meetE   s     c         C   sC   h  } x6 |  i  ƒ  D]( } | i | ƒ p |  | | | <q q W| S(   N(   R   R   (   R   R   R   R   (    (    s   bin/python/utils.pyt   map_diffM   s     c         C   sD   t  |  | ƒ } x. |  i ƒ  D]  } | i | ƒ p
 d ‚ q q W| S(   Nt   merge_defaults(   R   R   R   (   t   settingst   defaultsR   R   (    (    s   bin/python/utils.pyt   map_join_totalZ   s     c         C   sW   t  |  ƒ t  d ƒ j p t  |  ƒ t  g  ƒ j o t d „  |  d ƒ Sn t |  ƒ Sd  S(   Ni   c         S   s   |  t  | ƒ S(    (   t
   seq_to_str(   t   sumR   (    (    s   bin/python/utils.pyR	   h   s    t    (   i   (   t   typet   reducet   str(   R   (    (    s   bin/python/utils.pyR   f   s    2c          G   s   d  S(   N(    (   t   args(    (    s   bin/python/utils.pyt   dummyp   s    c          G   s   d S(   Ni   (    (   R$   (    (    s   bin/python/utils.pyt   truex   s    c          G   s   d S(   Ni    (    (   R$   (    (    s   bin/python/utils.pyt   false|   s    c         C   s0   t  |  ƒ } |  d j p | d j o
 | d j S(   Ns   
i    i~   (   t   ord(   t   ct   o(    (    s   bin/python/utils.pyt   is_printableƒ   s    c         C   s   t  |  ƒ } d } d } d } xJ t | ƒ D]< } t |  | ƒ p% | |  | | !} | d } d } q+ q+ W| o |  Sn | |  | | !Sd  S(   Ni   R    i    (   R   t   rangeR+   (   R   t   lengtht   okR   t   lt   i(    (    s   bin/python/utils.pyt   string_printableŒ   s     
N(   R   R   R   R   R   R   R   R   R   R   R%   R&   R'   R+   R1   (    (    (    s   bin/python/utils.pys   <module>   s   		
				
				
					