ó
q™xTc           @   sX   d  d l  m Z d  d l Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d d „ Z d S(	   iÿÿÿÿ(   t   divisionNt   storec           B   s   e  Z d  „  Z RS(   c         K   s   |  j  j | ƒ d  S(   N(   t   __dict__t   update(   t   selft   kw(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/misc.pyt   __init__   s    (   t   __name__t
   __module__R   (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/misc.pyR      s   t   sorted_storec           B   s)   e  Z d  „  Z d „  Z d d d „ Z RS(   c         C   s   t  d ‚ d  S(   Ns5   Programming error: derived class must override keys()(   t   RuntimeError(   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/misc.pyt   keys   s    c         O   sÕ   t  | ƒ t  | ƒ t  |  j ƒ  ƒ k s. t ‚ x= t |  j ƒ  t  | ƒ  | ƒ D] \ } } t |  | | ƒ qN Wx` | j ƒ  D]R \ } } | |  j ƒ  k sŸ t ‚ t |  | d  ƒ d  k s½ t ‚ t |  | | ƒ q{ Wd  S(   N(   t   lenR   t   AssertionErrort   zipt   setattrt   itemst   getattrt   None(   R   t   argsR   t   keyt   value(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/misc.pyR      s    .,t    c         C   sV   | d  k r t j } n  x7 |  j ƒ  D]) } | d | | f It |  | ƒ IJq% Wd  S(   Ns   %s%s:(   R   t   syst   stdoutR   R   (   R   t   ft   indentationR   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/misc.pyt   show   s     N(   R   R   R   R   R   R   (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/misc.pyR	   	   s   			i   c         C   su   y
 t  ‚ Wnd t  k
 rp t j ƒ  d } | j } x0 t |  ƒ D]" } | j d  k rY d  S| j } q@ W| j j SXd  S(   Ni   (	   t	   ExceptionR   t   exc_infot   tb_framet   xranget   f_backR   t   f_codet   co_name(   t   n_backt   tR   t   i(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/misc.pyt   get_caller_name   s     
	 (   t
   __future__R    R   t   objectR   R	   R&   (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/scitbx/python_utils/misc.pyt   <module>   s   