ó
è?F[c           @   sR   d  d l  Z d  d l m Z d e j j f d „  ƒ  YZ d e f d „  ƒ  YZ d S(   iÿÿÿÿN(   t   StringIOt
   XmlHandlerc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   s(   | |  _  d | f g |  _ d |  _ d  S(   Nt   roott    (   t
   connectiont   nodest   current_text(   t   selft	   root_nodeR   (    (    s+   lib/python2.7/site-packages/boto/handler.pyt   __init__   s    	c         C   sU   d |  _  |  j d d j | | |  j ƒ } | d  k	 rQ |  j j | | f ƒ n  d  S(   NR   iÿÿÿÿi   (   R   R   t   startElementR   t   Nonet   append(   R   t   namet   attrst   new_node(    (    s+   lib/python2.7/site-packages/boto/handler.pyR
   "   s    	#c         C   s   |  j  d d j | |  j |  j ƒ |  j  d d | k rƒ t |  j  d d d ƒ rs |  j  d d j |  j ƒ n  |  j  j ƒ  n  d |  _ d  S(   Niÿÿÿÿi   i    t   endNodeR   (   R   t
   endElementR   R   t   hasattrR   t   pop(   R   R   (    (    s+   lib/python2.7/site-packages/boto/handler.pyR   (   s    $c         C   s   |  j  | 7_  d  S(   N(   R   (   R   t   content(    (    s+   lib/python2.7/site-packages/boto/handler.pyt
   characters0   s    (   t   __name__t
   __module__R	   R
   R   R   (    (    (    s+   lib/python2.7/site-packages/boto/handler.pyR      s   			t   XmlHandlerWrapperc           B   s   e  Z d  „  Z d „  Z RS(   c         C   sW   t  | | ƒ |  _ t j j ƒ  |  _ |  j j |  j ƒ |  j j t j j j d ƒ d  S(   Ni    (	   R   t   handlert   xmlt   saxt   make_parsert   parsert   setContentHandlert
   setFeaturet   feature_external_ges(   R   R   R   (    (    s+   lib/python2.7/site-packages/boto/handler.pyR	   5   s    c         C   s   |  j  j t | ƒ ƒ S(   N(   R   t   parseR    (   R   R   (    (    s+   lib/python2.7/site-packages/boto/handler.pyt   parseString;   s    (   R   R   R	   R"   (    (    (    s+   lib/python2.7/site-packages/boto/handler.pyR   4   s   	(	   t   xml.saxR   t   boto.compatR    R   t   ContentHandlerR   t   objectR   (    (    (    s+   lib/python2.7/site-packages/boto/handler.pyt   <module>   s   