ó
BÜXQc           @   s„   d  d l  m Z d  d l Z d  d l Z d d d „  ƒ  YZ d d d „  ƒ  YZ d e j f d „  ƒ  YZ d	 e j f d
 „  ƒ  YZ	 d S(   iÿÿÿÿ(   t   StringIONt   GzipConsumerc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s   | |  _  d  |  _ d |  _ d  S(   Nt    (   t   _GzipConsumer__consumert   Nonet   _GzipConsumer__decodert   _GzipConsumer__data(   t   selft   consumer(    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyt   __init__
   s    		c         C   s   t  |  j | ƒ S(   N(   t   getattrR   (   R   t   key(    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyt   __getattr__   s    c         C   sÃ  |  j  d  k r”|  j | } y,d } t | d ƒ } | d @rv t | | ƒ d t | | d ƒ } | d | } n  | d @r® x t | | ƒ r  | d } qƒ W| d } n  | d @ræ x t | | ƒ rØ | d } q» W| d } n  | d @rý | d } n  t | ƒ | k  rt d	 ƒ ‚ n  | d  d
 k r=t d ƒ ‚ n  | | } Wn t k
 re| |  _ d  SXd d  l } d |  _ | j | j	 ƒ |  _  n  |  j  j
 | ƒ } | r¿|  j j | ƒ n  d  S(   Ni
   i   i   i   i   i   i   i   s   not enough datas   ‹s   invalid gzip dataiÿÿÿÿR   (   R   R   R   t   ordt   lent
   IndexErrort   IOErrort   zlibt   decompressobjt	   MAX_WBITSt
   decompressR   t   feed(   R   t   datat   it   flagt   xR   (    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR      s@    
&


		c         C   sE   |  j  r4 |  j  j ƒ  } | r4 |  j j | ƒ q4 n  |  j j ƒ  d  S(   N(   R   t   flushR   R   t   close(   R   R   (    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR   5   s
    	(   t   __name__t
   __module__R	   R   R   R   (    (    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR      s   			#t   stupid_gzip_consumerc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   g  |  _  d  S(   N(   R   (   R   (    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR	   C   s    c         C   s   |  j  j | ƒ d  S(   N(   R   t   append(   R   R   (    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR   D   s    (   R   R   R	   R   (    (    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR   B   s   	t   stupid_gzip_wrapperc           B   s>   e  Z d  „  Z d d „ Z d d „ Z d d „ Z d „  Z RS(   c         C   sP   | |  _  t ƒ  } t | ƒ } | j | j ƒ  ƒ t d j | j ƒ ƒ |  _ d  S(   NR   (	   t	   _responseR   R   R   t   readR    t   joinR   t   _stupid_gzip_wrapper__data(   R   t   responset   ct   gzc(    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR	   G   s
    		iÿÿÿÿc         C   s   |  j  j | ƒ S(   N(   R$   R"   (   R   t   size(    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR"   O   s    c         C   s   |  j  j | ƒ S(   N(   R$   t   readline(   R   R(   (    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR)   Q   s    c         C   s   |  j  j | ƒ S(   N(   R$   t	   readlines(   R   t   sizehint(    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR*   S   s    c         C   s   t  |  j | ƒ S(   N(   R
   R!   (   R   t   name(    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR   V   s    (   R   R   R	   R"   R)   R*   R   (    (    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR    F   s
   	t   HTTPGzipProcessorc           B   s&   e  Z d  Z d „  Z d „  Z e Z RS(   iÈ   c         C   s   | j  d d ƒ | S(   Ns   Accept-Encodingt   gzip(   t
   add_header(   R   t   request(    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyt   http_request]   s    c         C   sL   | j  ƒ  j d ƒ } x0 | D]( } d | k s: d | k r t | ƒ Sq W| S(   Ns   Content-encodingR.   t   compress(   t   infot
   getheadersR    (   R   R0   R%   t   enc_hdrst   enc_hdr(    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyt   http_responsea   s
    (   R   R   t   handler_orderR1   R7   t   https_response(    (    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyR-   Z   s   		(    (    (
   t	   cStringIOR    R!   t   _urllib2_forkR   R   t   closeable_responseR    t   BaseHandlerR-   (    (    (    s4   /scratch/rashmi/Condor_Script/src/mechanize/_gzip.pyt   <module>   s   :