ó
<™xTc           @   sï   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d  d l Z d d „ Z d e	 f d	 „  ƒ  YZ
 d
 e	 f d „  ƒ  YZ d e	 f d „  ƒ  YZ d e	 f d „  ƒ  YZ d e	 f d „  ƒ  YZ d d d „ Z e d k rë e ƒ  n  d S(   iÿÿÿÿ(   t   division(   t	   web_links(   t   html_head_title(   t   sgtbxNs   %03dc   
   	   C   s  | d IJt  |  ƒ } | | } | | | k  r= | d 7} n  x© t | ƒ D]› } | d IJx~ t | ƒ D]p } | | | } | t  |  ƒ k  rg |  | }	 | d | d |	 j ƒ  |	 j ƒ  j d d ƒ |	 j ƒ  f IJqg qg W| d IJqJ W| d	 IJ| d
 IJd  S(   Ns   <table border=2 cellpadding=2>i   s   <tr>s   <td><a href="asu_s   .html">%s (%d)</a></td>t    t    s   </tr>s   </table>s   <p>(   t   lent   xranget   numbert   hermann_mauguint   replace(
   t   tablet   ft	   n_columnst
   serial_fmtt	   n_symbolst   n_rowst   i_rowt   i_columnt   it   symbols(    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyt   table_format_html   s&    

 

	
t   point_group_symbolsc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   | |  _  | |  _ d  S(   N(   t   _numbert   _hermann_mauguin(   t   OR   R	   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyt   __init__   s    	c         C   s   |  j  S(   N(   R   (   R   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR   !   s    c         C   s   |  j  S(   N(   R   (   R   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR	   #   s    (   t   __name__t
   __module__R   R   R	   (    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR      s   		t   plane_group_tablec           B   s   e  Z d  „  Z d „  Z RS(   c         C   sl   g  |  _  d d l m } xL t | j ƒ D]; \ } \ } } |  j  j t | d | j d d ƒ ƒ ƒ q) Wd  S(   Niÿÿÿÿ(   t   plane_groupsi   t   _R   (   R   t   cctbx.sgtbxR   t	   enumeratet   hermann_mauguin_hall_tablet   appendR   R
   (   R   R   R   t   hmR   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR   '   s    	"c         C   s'   | d IJt  |  j | | d d ƒd  S(   Ns   <h3>Plane groups</h3>R   s   %02d(   R   R   (   R   R   R   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyt   format_html-   s    
(   R   R   R   R%   (    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR   %   s   	t   symbol_tablec           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   | |  _  g  |  _ d  S(   N(   t   point_group_typeR   (   t   selfR'   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR   3   s    	c         C   s   |  j  j | ƒ d  S(   N(   R   R#   (   R(   t   group_symbols(    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyt   add7   s    c         C   s   t  |  j | | ƒ d  S(   N(   R   R   (   R(   R   R   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR%   :   s    (   R   R   R   R*   R%   (    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR&   1   s   		t   point_group_tablec           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s   | |  _  g  |  _ d  S(   N(   t   crystal_systemR&   (   R(   R,   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR   ?   s    	c         C   s&   t  | ƒ |  _ |  j  j |  j ƒ d  S(   N(   R&   t   current_symbol_tableR#   (   R(   R'   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyt   add_point_group_typeC   s    c         C   s   |  j  j | ƒ d  S(   N(   R-   R*   (   R(   t   space_group_symbols(    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR*   G   s    c         C   s9   | d |  j  IJx! |  j D] } | j | | ƒ q Wd  S(   Ns   <h3>%s</h3>(   R,   R&   R%   (   R(   R   R   R   (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR%   J   s    (   R   R   R   R.   R*   R%   (    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR+   =   s   			t   crystal_system_tablec           B   s    e  Z d  „  Z d d d „ Z RS(   c   	      C   sÉ   g  |  _  d  } d  } x­ t d d ƒ D]œ } t j | ƒ } t j | ƒ } | j ƒ  } | j ƒ  } | | k r¨ | | k r˜ t | ƒ } |  j  j	 | ƒ n  | j
 | ƒ n  | j | ƒ | } | } q% Wd  S(   Ni   iç   (   t   point_group_tablest   NoneR   R   R/   t   space_groupR,   R'   R+   R#   R.   R*   (	   R(   t   previous_crystal_systemt   previous_point_group_typet   space_group_numberR/   R3   R,   R'   t   current_crystal_system(    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR   Q   s     	i   c         C   s�   | d  k r t j } n  d } t j } | t d | ƒ IJ| d t ƒ  IJt ƒ  j | | ƒ x! |  j	 D] } | j | | ƒ qh W| d IJd  S(   Ns(   Gallery of direct-space asymmetric unitst   titles2  <body>
<hr>
<h2>%(title)s</h2>
<hr>
References:
<ul>
<li><a href="http://scripts.iucr.org/cgi-bin/paper?pz5088" target="external"
    >Acta Cryst. (2011). A67, 269-275</a>
<p>
<li><a href="%(iucrcompcomm_jul2003)s" target="external"
    >IUCr Computing Commission Newsletter No. 2, July 2003</a>
</ul>
<hr>sM   <hr>
<a href="http://cctbx.sourceforge.net/">[cctbx home]</a>
</body>
</html>(
   R2   t   syst   stdoutR   t   iucrcompcomm_jul2003R   t   varsR   R%   R1   (   R(   R   R   R8   R;   t   point_group(    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR%   c   s     	N(   R   R   R   R2   R%   (    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyR0   O   s   	i   c         C   s   t  ƒ  } | j |  | ƒ d  S(   N(   R0   R%   (   R   R   t   cs_table(    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyt
   write_html   s    	t   __main__(   t
   __future__R    t   cctbx.web.asu_galleryR   R   t   cctbxR   R9   R   t   objectR   R   R&   R+   R0   R2   R?   R   (    (    (    sL   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/web/asu_gallery/jv_index.pyt   <module>   s   
0