
$8Zc        	   @   s	  d  d k  Z d  d k Z d  d k Z y e i e i g Z Wn e j
 o e i g Z n Xd Z d Z	 d Z
 d Z d Z d Z d Z d	 Z d
 e i i f d     YZ d d d     YZ d d d     YZ d e f d     YZ d Z d d d  Z d d  Z d S(   iNt   START_ELEMENTt   END_ELEMENTt   COMMENTt   START_DOCUMENTt   END_DOCUMENTt   PROCESSING_INSTRUCTIONt   IGNORABLE_WHITESPACEt
   CHARACTERSt   PullDOMc           B   s   e  Z d Z d Z d d   Z d   Z d   Z d   Z d   Z	 d   Z
 d   Z d   Z d   Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   d d k  l } | |  _ d  d  g |  _ |  i |  _ g  |  _ |  i i |  _ y |  i i	 |  _	 Wn t
 j
 o n Xh d | 6g |  _ |  i d |  _ g  |  _ d  S(   Ni(   t   XML_NAMESPACEt   xml(   t   xml.domR	   t   documentFactoryt   Nonet
   firstEventt	   lastEventt   elementStackt   appendt   pusht   popt   AttributeErrort   _ns_contextst   _current_contextt   pending_events(   t   selfR   R	   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   __init__   s    		c         C   s   |  i  d } |  i  d =| S(   Ni(   R   (   R   t   result(    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyR   '   s    
c         C   s   | |  _  d  S(   N(   t   _locator(   R   t   locator(    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   setDocumentLocator,   s    c         C   sk   t  |  d  p g  |  _ n |  i i | p d | f  |  i i |  i i    | p d  |  i | <d  S(   Nt   _xmlns_attrst   xmlns(   t   hasattrR   R   R   R   t   copyR   (   R   t   prefixt   uri(    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   startPrefixMapping/   s
    c         C   s   |  i  i   |  _ d  S(   N(   R   R   R   (   R   R"   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   endPrefixMapping6   s    c         C   sO  d } t  |  d d   } | d  j	 o7 x' | D] \ } } | | i | | f <q, Wg  |  _ n | \ } }	 | ov | d  j o0 |  i | }
 |
 o |
 d |	 } q |	 } n |  i o |  i i | |  } q|  i | |  } n3 |  i o |  i i |	  } n |  i d  |	  } x | i	   D] \ } } | \ } } | | j oG | d j o
 | } n d | } |  i i
 | |  } | i |  ny | oR |  i | }
 |
 o |
 d | } n | } |  i i
 | |  } | i |  n  |  i i |  } | i |  | | _ q$Wt | f d  g |  i d <|  i d |  _ |  i |  d  S(   Ns   http://www.w3.org/2000/xmlns/R   t   :R   s   xmlns:i   (   t   getattrR   t   _attrsR   R   t   documentt   createElementNSt   buildDocumentt   createElementt   itemst   createAttributeNSt   setAttributeNodeNSt   createAttributet   setAttributeNodet   valueR    R   R   (   R   t   namet   tagNamet   attrst	   xmlns_urit   xmlns_attrst   anameR2   R#   t	   localnameR"   t   nodet   a_urit   a_localnamet   qnamet   attr(    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   startElementNS9   sT     


 

c         C   s3   t  |  i   f d  g |  i d <|  i d |  _ d  S(   Ni   (   R   R   R   R   (   R   R3   R4   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   endElementNSr   s    c         C   s   |  i  o |  i  i |  } n |  i d  |  } xB | i   D]4 \ } } |  i  i |  } | | _ | i |  q? Wt | f d  g |  i	 d <|  i	 d |  _	 |  i
 |  d  S(   Ni   (   R)   R,   R+   R   R-   R0   R2   R1   R    R   R   (   R   R3   R5   R:   R8   R2   R>   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   startElementv   s    
 	c         C   s3   t  |  i   f d  g |  i d <|  i d |  _ d  S(   Ni   (   R   R   R   R   (   R   R3   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt
   endElement   s    c         C   so   |  i  o? |  i  i |  } t | f d  g |  i d <|  i d |  _ n# t | f d  g } |  i i |  d  S(   Ni   (   R)   t   createCommentR   R   R   R   R   (   R   t   sR:   t   event(    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   comment   s    
c         C   su   |  i  oB |  i  i | |  } t | f d  g |  i d <|  i d |  _ n& t | | f d  g } |  i i |  d  S(   Ni   (   R)   t   createProcessingInstructionR   R   R   R   R   (   R   t   targett   dataR:   RE   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   processingInstruction   s    
c         C   s?   |  i  i |  } t | f d  g |  i d <|  i d |  _ d  S(   Ni   (   R)   t   createTextNodeR   R   R   (   R   t   charsR:   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   ignorableWhitespace   s    c         C   s?   |  i  i |  } t | f d  g |  i d <|  i d |  _ d  S(   Ni   (   R)   RK   R   R   R   (   R   RL   R:   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt
   characters   s    c         C   s9   |  i  d  j o% d d  k } | i i i i |  _  n d  S(   Ni(   R   R   t   xml.dom.minidomt   domt   minidomt   Documentt   implementation(   R   R
   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   startDocument   s    c   	      C   s<  |  i  i | | d   } | |  _ t | f d  g |  i d <|  i d |  _ |  i |  x |  i D] } | d d t j o< | d \ } } } |  i i	 | |  } t | f | d <n[ | d d t
 j o. |  i i | d d  } t
 | f | d <n t d | d d   | |  i d <| |  _ qa Wd  |  _ | i S(   Ni   i    s   Unknown pending event (   R   t   createDocumentR   R)   R   R   R   R   R   RG   R   RC   t   AssertionErrort
   firstChild(	   R   R#   t   tagnameR:   t   et   _RH   RI   t   n(    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyR+      s&    	
 	c         C   s*   t  |  i f d  g |  i d <|  i   d  S(   Ni   (   R   R)   R   R   R   (   R   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   endDocument   s    c         C   s   d |  _ d S(   s.   clear(): Explicitly release parsing structuresN(   R   R)   (   R   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   clear   s    N(   t   __name__t
   __module__R   R   R)   R   R   R   R$   R%   R?   R@   RA   RB   RF   RJ   RM   RN   RT   R+   R\   R]   (    (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyR      s&   					9												t   ErrorHandlerc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s	   | GHd  S(   N(    (   R   t	   exception(    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   warning   s    c         C   s
   |  d  S(   N(    (   R   Ra   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   error   s    c         C   s
   |  d  S(   N(    (   R   Ra   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt
   fatalError   s    (   R^   R_   Rb   Rc   Rd   (    (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyR`      s   		t   DOMEventStreamc           B   sb   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   c         C   sL   | |  _  | |  _ | |  _ t |  i d  p |  i |  _ n |  i   d  S(   Nt   feed(   t   streamt   parsert   bufsizeR    t   _slurpt   getEventt   reset(   R   Rg   Rh   Ri   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyR      s    			c         C   s?   t    |  _ |  i i t i i i d  |  i i |  i  d  S(   Ni   (	   R   t   pulldomRh   t
   setFeatureR
   t   saxt   handlert   feature_namespacest   setContentHandler(   R   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyRl      s    c         C   s"   |  i    } | o | St  d  S(   N(   Rk   t
   IndexError(   R   t   post   rc(    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   __getitem__   s    c         C   s"   |  i    } | o | St  d  S(   N(   Rk   t   StopIteration(   R   Ru   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   next   s    c         C   s   |  S(   N(    (   R   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   __iter__   s    c         C   s   |  i    } | g } x | o | \ } } | | j o d  S| t j o | d i |  n | t j o | i |  n | t j o | d =n |  i    } q Wd  S(   Ni(   Rk   R   t   appendChildR    R   (   R   R:   RE   t   parentst   tokent   cur_node(    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt
   expandNode   s    	 c         C   s   |  i  i d p |  i  i |  i  _ n xT |  i  i d pB |  i i |  i  } | p |  i i   d  S|  i i	 |  q* W|  i  i d d } |  i  i d d |  i  i d <| S(   Ni   i    (
   Rm   R   R   Rg   t   readRi   Rh   t   closeR   Rf   (   R   t   bufRu   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyRk      s     c         C   s)   |  i  i |  i  |  i |  _ |  i   S(   s    Fallback replacement for getEvent() using the
            standard SAX2 interface, which means we slurp the
            SAX events into memory (no performance gain, but
            we are compatible to all SAX parsers).
        (   Rh   t   parseRg   t   _emitRk   (   R   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyRj     s    c         C   s6   |  i  i d d } |  i  i d d |  i  i d <| S(   sn    Fallback replacement for getEvent() that emits
            the events that _slurp() read previously.
        i   i    (   Rm   R   (   R   Ru   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyR     s    c         C   s)   |  i  i   |  `  d |  _ d |  _ d S(   s+   clear(): Explicitly release parsing objectsN(   Rm   R]   R   Rh   Rg   (   R   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyR]      s    	(   R^   R_   R   Rl   Rv   Rx   Ry   R~   Rk   Rj   R   R]   (    (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyRe      s   								
	t   SAX2DOMc           B   s5   e  Z d    Z d   Z d   Z d   Z d   Z RS(   c         C   sA   t  i |  | | |  |  i d } |  i d } | i |  d  S(   Nii(   R   R?   R   Rz   (   R   R3   R4   R5   t   curNodet
   parentNode(    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyR?   )  s    c         C   s>   t  i |  | |  |  i d } |  i d } | i |  d  S(   Nii(   R   RA   R   Rz   (   R   R3   R5   R   R   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyRA   /  s    c         C   sB   t  i |  | |  |  i d d } |  i d } | i |  d  S(   Ni    i   i(   R   RJ   R   R   Rz   (   R   RH   RI   R:   R   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyRJ   5  s    c         C   s?   t  i |  |  |  i d d } |  i d } | i |  d  S(   Ni    i   i(   R   RM   R   R   Rz   (   R   RL   R:   R   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyRM   ;  s    c         C   s?   t  i |  |  |  i d d } |  i d } | i |  d  S(   Ni    i   i(   R   RN   R   R   Rz   (   R   RL   R:   R   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyRN   A  s    (   R^   R_   R?   RA   RJ   RM   RN   (    (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyR   '  s
   				i   i   i   c         C   sj   | d  j o
 t } n t |   t j o t |   } n |  } | p t i i   } n t | | |  S(   N(	   R   t   default_bufsizet   typet   _StringTypest   openR
   Ro   t   make_parserRe   (   t   stream_or_stringRh   Ri   Rg   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyR   J  s    
c         C   s|   y d d k  l } Wn# t j
 o d d k l } n Xt |   } | |   } | p t i i   } n t | | |  S(   Ni(   t   StringIO(   t	   cStringIOR   t   ImportErrort   lenR
   Ro   R   Re   (   t   stringRh   R   Ri   R   (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   parseStringU  s    (    (    i @  i?  (   t   xml.saxR
   t   xml.sax.handlert   typest
   StringTypet   UnicodeTypeR   R   R    R   R   R   R   R   R   R   Ro   t   ContentHandlerR   R`   Re   R   R   R   R   R   (    (    (    s%   /usr/lib/python2.6/xml/dom/pulldom.pyt   <module>   s*   U!