ó
P™xTc           @   s�   d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l m Z d  d l m	 Z	 d e j
 j f d „  ƒ  YZ d e j
 j
 f d „  ƒ  YZ d S(	   iÿÿÿÿ(   t   divisionN(   t   debug_utils(   t   sgtbxt   space_group_processed_optionsc           B   s   e  Z d  „  Z RS(   c         K   s;   | j  |  j j ƒ x! |  j D] } | d | | � q Wd  S(   Nt   space_group_info(   t   updatet   optionst   __dict__t   space_group_info_list(   t   selft   ft   kwdst   sgi(    (    sY   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/development/space_group_option_parser.pyt   loop_over_space_groups	   s    (   t   __name__t
   __module__R   (    (    (    sY   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/development/space_group_option_parser.pyR      s   t   space_group_option_parserc           B   s;   e  Z d  d d d g Z e Z d d d d „ Z d „  Z RS(   t   allt   chiralt   all_settingst   unusual_settingst    c         C   sú   | d  k rT t j d ƒ } | j j } t j j t j j | ƒ ƒ \ } } | } n  t	 j
 j
 j |  d d | | f d d d | ƒ|  j d d d	 d
 d d ƒ|  j d d d d j |  j ƒ ƒ|  j d d d d  ƒ|  j d  d d d d t ƒd  S(   Ni   t   usages>   
	%s %s --space_group_set=SET
	%s %s SPACE_GROUP_SYMBOL
	%s %si   t   descriptionso   The 3rd form selects a predefined set of representative spacegroups (c.f. module cctbx.development.debug_utils)s   -vs	   --verboset   typet   intt   defaulti    s   --space_group_sett   metavart    s    | s   -ss   --n_scattererss   --general_positions_onlyt   actiont
   store_true(   t   Nonet   syst	   _getframet   f_codet   co_filenamet   ost   patht   splitextt   basenamet   libtbxt   option_parsert   __init__t   optiont   joint   space_group_setst   False(   R	   t   cmdt   usage_insertiont   description_extensiont   framet   roott   ext(    (    sY   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/development/space_group_option_parser.pyR*      s     $	c         C   s{  g  } x0 | D]( } | d k r( d } n  | j  | ƒ q Wt j j j |  | ƒ } | j } | j d  k	 rš g  | j j d ƒ D] } t | ƒ ^ q| | _ n  g  |  j	 D] } | j
 | k ^ q¤ } | j t ƒ d k ré | j ré | j } n t j | Œ  } g  | D] }	 t j |	 ƒ ^ qÿ | _ | j `
 xE | j j j ƒ  D]1 }
 t | j |
 ƒ d k r9t | j |
 ƒ q9q9Wd | _ | S(   Ns	   --Verboses   --verbose=1t   ,i    R   (   R   N(    (   t   appendR(   R)   t   processR   t   n_scatterersR   t   splitR   R-   t   space_group_sett   countt   Truet   argsR   t   get_test_space_group_symbolsR   R   R   R   t   keyst   getattrt   delattr(   R	   R=   t   adjusted_argst   argt   command_linet   optst   xt   sg_set_flagst
   sg_symbolst   symbolt   attr(    (    sY   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/development/space_group_option_parser.pyR7   )   s,     		1"%		N(   R   R   R-   R   t   processed_options_typeR   R*   R7   (    (    (    sY   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/development/space_group_option_parser.pyR      s   (   t
   __future__R    R$   R    t   libtbx.option_parserR(   t   cctbx.developmentR   t   cctbxR   R)   t   processed_optionsR   R   (    (    (    sY   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/cctbx/development/space_group_option_parser.pyt   <module>   s   