ó
<™xTc           @   sf   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d  d l m Z d „  Z d „  Z	 d S(	   iÿÿÿÿ(   t   division(   t   sgtbx(   t   uctbx(   t   io_utils(   t	   cgi_utilsc      
   C   s=   t  j |  d d d d d d d f ƒ } t  j |  ƒ | _ | S(   Nt   ucparams_olds   1 1 1 90 90 90t   sgsymbol_oldt   P1t   convention_oldt    t   sgsymbol_newt   convention_newt	   coor_typet   skip_columnst   0(   s   ucparams_olds   1 1 1 90 90 90(   s   sgsymbol_oldR   (   s   convention_oldR	   (   s   sgsymbol_newR	   (   s   convention_newR	   (   s	   coor_typeN(   s   skip_columnsR   (   R   t   inp_from_formt   Nonet   coordinates_from_formt   coordinates(   t   formt   inp(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/change_setting.pyt   interpret_form_data   s    	c         C   sl  d GHt  j | j ƒ } d GHd G| j ƒ  t j d | j d | j ƒ } d G| j ƒ  Ht	 | j
 j ƒ  ƒ d k rŠ | j ƒ  } d | _ n t j d | j
 d | j ƒ } d GHd G| j ƒ  H| j ƒ  j ƒ  | j ƒ  j ƒ  k rè d	 GHn{| j ƒ  j ƒ  j ƒ  j | j ƒ  j ƒ  j ƒ  ƒ j t j t j ƒ } t j | ƒ } d
 G| j ƒ  GHd G| j ƒ  GHH| j ƒ  j | ƒ svt ‚ | j d | ƒ } d GHd G| j ƒ  | j ƒ  j | ƒ s¶t ‚ H| j Gd GHHt j | j ƒ }	 xŠ | j  D] }
 t j! |
 |	 ƒ \ } } | j d k r| j" | ƒ } n  | | ƒ } | j d k rL| j# | ƒ } n  | Gd t$ | ƒ GHqàWd GHd  S(   Ns   <pre>s   Old symmetry:t    t   symbolt   table_idi    R	   s   New space group symbol:s"   Space group numbers are not equal!s   Change-of-basis matrix:s                  Inverse:t   cb_ops   New unit cell parameters:s   coordinates:t
   Fractionals   %.6g %.6g %.6gs   </pre>(%   R   t	   unit_cellR   t   show_parametersR   t   space_group_infoR   R   t   show_summaryt   lenR
   t   stript   reference_settingR   t   typet   numberR   t   c_invt   multiplyt   ct   new_denominatorst   cb_r_dent   cb_t_dent   change_of_basis_opt   groupt   is_compatible_unit_cellt   AssertionErrort   change_basisR   R   t   interpret_skip_columnsR   R   t   interpret_coordinate_linet   fractionalizet   orthogonalizet   tuple(   t   server_infoR   t   statust   unit_cell_oldt   space_group_info_oldt   space_group_info_newR&   R   t   unit_cell_newR   t   linet   skippedR   t   new_coordinates(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/change_setting.pyt   run!   sd    
		
		

N(
   t
   __future__R    t   cctbxR   R   t	   cctbx.webR   R   R   R=   (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/change_setting.pyt   <module>   s   	