ó
w™xTc           @   s\   d  d l  m Z d  d l Z d  d l m Z d  d l m Z d d d „  ƒ  YZ d „  Z	 d S(	   iÿÿÿÿ(   t   divisionN(   t
   ADSCModule(   t   PilatusSlicet   attributes_from_dictc           B   s   e  Z d  „  Z RS(   c         C   s,   x% | j  ƒ  D] } | | |  j | <q Wd  S(   N(   t   keyst   __dict__(   t   selft
   parentdictt   key(    (    sU   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/detectors/image_from_http_request.pyt   __init__   s    (   t   __name__t
   __module__R	   (    (    (    sU   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/detectors/image_from_http_request.pyR      s   c         C   sØ  i  } x» |  j  ƒ  D]­ } t |  | ƒ d k s5 t ‚ |  | d | | <t | | ƒ d k  r yL t | | ƒ | | <| | t | | d ƒ k r¨ t | | ƒ | | <n  WqÀ t k
 r¼ qÀ Xq q Wt | ƒ } | d j ƒ  j	 d ƒ d k rû t
 ƒ  } n+ | d j ƒ  j	 d ƒ d k r&t ƒ  } n  | d | _ t j | d ƒ | _ | j | ƒ i  | _ xF d	 d
 d d d d d d d d d d d g D] } | | | j | <q�Wd d l m } | | | j ƒ | j | _ | S(   Ni   i    iè  t
   vendortypet   adsct   pilatust   moduleindext	   adsc_datat   DISTANCEt   PHIt
   WAVELENGTHt   TWOTHETAt	   OSC_RANGEt   CCD_IMAGE_SATURATIONt	   OSC_STARTt   DETECTOR_SNt
   PIXEL_SIZEt   SIZE1t   SIZE2t   BEAM_CENTER_Xt   BEAM_CENTER_Yiÿÿÿÿ(   t%   convert_beam_instrument_to_imageblock(   R   t   lent   AssertionErrort   floatt   roundt   intt	   ExceptionR   t   lowert   findR   R   R   t   StringIOt   objectt+   copy_common_attributes_from_parent_instancet
   parameterst&   iotbx.detectors.beam_center_conventionR   t   beam_center_conventiont.   slice_callback_with_high_performance_http_datat   slice_callback(   t   requestt   tagst   itemt
   tags_classt   PR   (    (    sU   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/detectors/image_from_http_request.pyt!   module_or_slice_from_http_request   s:     	(    (
   t
   __future__R    t	   cStringIOR'   t   iotbx.detectors.adsc_moduleR   t   iotbx.detectors.pilatus_sliceR   R   R4   (    (    (    sU   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/iotbx/detectors/image_from_http_request.pyt   <module>   s
   