ó
ç™xTc           @   s·   d  d l  m Z d  d l m Z d  d l m Z m Z d  d l Z d  d l Z d e f d „  ƒ  YZ	 d e f d „  ƒ  YZ
 d  d l Z e e d	 ƒ s³ e	 ƒ  e _ e j j e _ n  d S(
   iÿÿÿÿ(   t   division(   t	   str_utils(   t
   group_argst   adopt_init_argsNt   managerc           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z e e d „ Z d „  Z d d „ Z
 d „  Z RS(	   c         C   s%   g  |  _  t j ƒ  |  _ d  |  _ d  S(   N(   t   handlerst   ost   getpidt   _pidt   Nonet   _log(   t   self(    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyt   __init__H   s    	c         C   s   | |  _  d  S(   N(   R
   (   R   t   log(    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyt   set_warning_logM   s    c         C   s   t  | ƒ } |  j | ƒ d  S(   N(   t   piped_callbackt   register_handler(   R   t
   connectiont   cb(    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyt   add_piped_callbackP   s    c         C   s)   t  | d ƒ s t ‚ |  j j | ƒ d  S(   Nt   __call__(   t   hasattrt   AssertionErrorR   t   append(   R   t   handler(    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyR   T   s    c      
   C   s7   x0 |  j  D]% } | d | d | d | d | ƒ q
 Wd  S(   Nt   messaget   datat
   accumulatet   cached(   R   (   R   R   R   R   R   R   (    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyR   X   s
    c         C   s   |  j  d | d t ƒd  S(   Nt   citationR   (   R   t   True(   R   t   citation_info(    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyt   add_citation_   s    c         C   s   |  j  | ƒ d  S(   N(   t   warn(   R   R   t   categoryt   filenamet   linenot   file(    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyt   showwarningb   s    c      	   C   s§   t  | t ƒ s t | ƒ } n  |  j d d d | d t d t ƒ |  j d  k	 r[ |  j } n	 t j } d | } | d IJx( t	 j
 | d ƒ D] } | d	 | IJq‹ Wd  S(
   NR   R!   R   R   R   s   WARNING: %s
t    iH   s     (   t
   isinstancet
   basestringt   strR   R   R
   R	   t   syst   stdoutR   t   line_breaker(   R   R   R   t   msgt   line(    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyR!   e   s    "	

N(   t   __name__t
   __module__R   R   R   R   R   R   R    R	   R&   R!   (    (    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyR   G   s   					R   c           B   s    e  Z d  „  Z e e d „ Z RS(   c         C   s   t  |  t ƒ  ƒ d  S(   N(   R   t   locals(   R   R   (    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyR   t   s    c      
   C   s/   |  j  j t d | d | d | d | ƒ ƒ d  S(   NR   R   R   R   (   R   t   sendR   (   R   R   R   R   R   (    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyR   w   s
    	(   R0   R1   R   t   FalseR   R   (    (    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyR   s   s   	t	   call_back(   t
   __future__R    t   libtbxR   R   R   R   R+   t   objectR   R   R   R5   R!   (    (    (    s>   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/libtbx/callbacks.pyt   <module>   s   A,