Ñò
$8Zc           @   sØ   d  Z  d d k Z d d k Z d d k l Z d d d g Z d d d „  ƒ  YZ d d d	 „  ƒ  YZ d
 „  Z	 d e
 f d „  ƒ  YZ d e
 f d „  ƒ  YZ d d d „  ƒ  YZ [ d d d „  ƒ  YZ d d d „  ƒ  YZ d S(   s4   Implementation of the DOM Level 3 'LS-Load' feature.iÿÿÿÿN(   t
   NodeFiltert
   DOMBuildert   DOMEntityResolvert   DOMInputSourcet   Optionsc           B   s€   e  Z d  Z d Z e Z e Z e Z e Z	 e Z
 e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z e Z d Z d Z RS(   s±   Features object that has variables set for each DOMBuilder feature.

    The DOMBuilder class uses an instance of this class to pass settings to
    the ExpatBuilder class.
    i   N(   t   __name__t
   __module__t   __doc__t
   namespacest   Truet   namespace_declarationst   Falset
   validationt   external_parameter_entitiest   external_general_entitiest   external_dtd_subsett   validate_if_schemat   validatet   datatype_normalizationt   create_entity_ref_nodest   entitiest   whitespace_in_element_contentt   cdata_sectionst   commentst   charset_overrides_xml_encodingt   infosett   supported_mediatypes_onlyt   Nonet   errorHandlert   filter(    (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyR      s(   c           B   sã  e  Z d# Z d# Z d# Z d  Z d Z d Z d Z	 e e e e	 f Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z h d$ g d% 6d& g d' 6d( g d) 6d* g d+ 6d, g d- 6d. g d/ 6d0 g d1 6d2 g d3 6d4 g d5 6d6 g d7 6d8 d9 g d: 6d; g d< 6d= g d> 6d? g d@ 6dA g dB 6dC g dD 6dE g dF 6dG g dH 6dI g dJ 6dK g dL 6g  dM 6dN dO dP dQ dR dS dT dU dV g	 dW 6dX g dY 6dZ g d[ 6d\ g d] 6Z d „  Z d „  Z d  „  Z d! „  Z d" „  Z RS(^   i   i   i   i   c         C   s   t  ƒ  |  _ d  S(   N(   R   t   _options(   t   self(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   __init__9   s    c         C   s   |  i  S(   N(   t   entityResolver(   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _get_entityResolver<   s    c         C   s   | |  _  d  S(   N(   R!   (   R   R!   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _set_entityResolver>   s    c         C   s   |  i  S(   N(   R   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _get_errorHandlerA   s    c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _set_errorHandlerC   s    c         C   s   |  i  S(   N(   R   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _get_filterF   s    c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _set_filterH   s    c         C   s¾   |  i  | ƒ oŽ | o d p d } y |  i t | ƒ | f } Wn, t j
 o  t i i d | f ƒ ‚ qº XxG | D] \ } } t |  i | | ƒ qw Wn t i i	 d t
 | ƒ ƒ ‚ d  S(   Ni   i    s   unsupported feature: %rs   unknown feature: (   t   supportsFeaturet	   _settingst   _name_xformt   KeyErrort   xmlt   domt   NotSupportedErrt   setattrR   t   NotFoundErrt   repr(   R   t   namet   statet   settingst   value(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt
   setFeatureK   s    	 c         C   s   t  |  i t | ƒ ƒ S(   N(   t   hasattrR   R*   (   R   R2   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyR(   Y   s    c         C   s0   t  | ƒ | o d p d f } |  i i | ƒ S(   Ni   i    (   R*   R)   t   has_key(   R   R2   R3   t   key(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   canSetFeature\   s     R
   i    R   R   R   R   R   R   R   R   R   R   R   R   R   R   c         C   sÅ   t  | ƒ } y t |  i | ƒ SWnž t j
 o’ | d j ob |  i } | i oN | i oD | i o: | i o0 | i p% | i	 p | i
 p | i p | i St i i d t | ƒ ƒ ‚ n Xd  S(   NR   s   feature %s not known(   R*   t   getattrR   t   AttributeErrorR   R   R   R   R
   R   R   R   R   R,   R-   R0   R1   (   R   R2   t   xnamet   options(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt
   getFeature¢   s     	







	c         C   sE   |  i  o |  i  i d  | ƒ } n t ƒ  i d  | ƒ } |  i | ƒ S(   N(   R!   t   resolveEntityR   R   t   parse(   R   t   urit   input(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   parseURI´   s    
c         C   s|   t  i  |  i ƒ } |  i | _ |  i | _ | i } | d  j o, | i o" d d  k } | i | i ƒ } n |  i	 | | ƒ S(   Niÿÿÿÿ(
   t   copyR   R   R   t
   byteStreamR   t   systemIdt   urllib2t   urlopent   _parse_bytestream(   R   RC   R>   t   fpRH   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyRA   »   s    	c         C   s0   | |  i  j o t d ƒ ‚ n t d ƒ ‚ d  S(   Ns   not a legal actions   Haven't written this yet...(   t   _legal_actionst
   ValueErrort   NotImplementedError(   R   RC   t   cnodet   action(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   parseWithContextÅ   s    c         C   s.   d d  k  } | i i i | ƒ } | i | ƒ S(   Niÿÿÿÿ(   t   xml.dom.expatbuilderR-   t   expatbuildert   makeBuildert	   parseFile(   R   t   streamR>   R,   t   builder(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyRJ   Ê   s    N(   s   namespace_declarationsi    (   s   namespace_declarationsi    (   s   namespace_declarationsi   (   s   namespace_declarationsi   (   s
   validationi    (   s
   validationi    (   s   external_general_entitiesi    (   s   external_general_entitiesi    (   s   external_general_entitiesi   (   s   external_general_entitiesi   (   s   external_parameter_entitiesi    (   s   external_parameter_entitiesi    (   s   external_parameter_entitiesi   (   s   external_parameter_entitiesi   (   s   validate_if_schemai    (   s   validate_if_schemai    (   s   create_entity_ref_nodesi    (   s   create_entity_ref_nodesi    (   s   create_entity_ref_nodesi   (   s   create_entity_ref_nodesi   (   s   create_entity_ref_nodesi    (   s   entitiesi    (   s   entitiesi    (   s   entitiesi   (   s   entitiesi   (   s   whitespace_in_element_contenti    (   s   whitespace_in_element_contenti    (   s   whitespace_in_element_contenti   (   s   whitespace_in_element_contenti   (   s   cdata_sectionsi    (   s   cdata_sectionsi    (   s   cdata_sectionsi   (   s   cdata_sectionsi   (   s   commentsi    (   s   commentsi    (   s   commentsi   (   s   commentsi   (   s   charset_overrides_xml_encodingi    (   s   charset_overrides_xml_encodingi    (   s   charset_overrides_xml_encodingi   (   s   charset_overrides_xml_encodingi   (   s   infoseti    (   s   namespace_declarationsi    (   s   validate_if_schemai    (   s   create_entity_ref_nodesi    (   s   entitiesi    (   s   cdata_sectionsi    (   s   datatype_normalizationi   (   s   whitespace_in_element_contenti   (   s   commentsi   (   s   charset_overrides_xml_encodingi   (   s   infoseti   (   s   supported_mediatypes_onlyi    (   s   supported_mediatypes_onlyi    (   s
   namespacesi    (   s
   namespacesi    (   s
   namespacesi   (   s
   namespacesi   (   R   R   R   R!   R   R   t   ACTION_REPLACEt   ACTION_APPEND_AS_CHILDRENt   ACTION_INSERT_AFTERt   ACTION_INSERT_BEFORERL   R    R"   R#   R$   R%   R&   R'   R6   R(   R:   R)   R?   RD   RA   RQ   RJ   (    (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyR   ,   sv   											






















			
	c         C   s   |  i  ƒ  i d d ƒ S(   Nt   -t   _(   t   lowert   replace(   R2   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyR*   Ð   s    c           B   s2   e  Z d Z d „  Z d „  Z d „  Z d „  Z RS(   t   _openerc         C   sõ   | d  j	 p t ‚ t ƒ  } | | _ | | _ |  i ƒ  i | ƒ | _ |  i | ƒ | _	 d d  k
 } d d  k } | i | ƒ } | \ } } }	 }
 } } |	 oR |	 i d ƒ oA | i |	 ƒ d }	 | | |	 |
 | | f } | i | ƒ | _ n | S(   Niÿÿÿÿt   /(   R   t   AssertionErrorR   t   publicIdRG   t   _get_openert   openRF   t   _guess_media_encodingt   encodingt	   posixpatht   urlparset   endswitht   dirnamet
   urlunparset   baseURI(   R   Rc   RG   t   sourceRh   Ri   t   partst   schemet   netloct   patht   paramst   queryt   fragment(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyR@   ×   s    			c         C   s8   y |  i  SWn& t j
 o |  i ƒ  |  _  |  i  SXd  S(   N(   R`   R<   t   _create_opener(   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyRd   í   s
    c         C   s   d d  k  } | i ƒ  S(   Niÿÿÿÿ(   RH   t   build_opener(   R   RH   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyRv   ô   s    c         C   si   | i  i ƒ  } | i d ƒ oF xC | i ƒ  D]1 } | i d ƒ o | i d d ƒ d i ƒ  Sq, Wn d  S(   Ns   Content-Types   charset=t   =i   (   RF   t   infoR8   t   getplistt
   startswitht   splitR^   (   R   Rn   Ry   t   param(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyRf   ø   s     (   s   _opener(   R   R   t	   __slots__R@   Rd   Rv   Rf   (    (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyR   Ô   s
   			c           B   s•   e  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(   RF   t   characterStreamt
   stringDataRg   Rc   RG   Rm   c         C   sC   d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  S(   N(   R   RF   R   R€   Rg   Rc   RG   Rm   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyR      s    						c         C   s   |  i  S(   N(   RF   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _get_byteStream  s    c         C   s   | |  _  d  S(   N(   RF   (   R   RF   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _set_byteStream  s    c         C   s   |  i  S(   N(   R   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _get_characterStream  s    c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _set_characterStream  s    c         C   s   |  i  S(   N(   R€   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _get_stringData  s    c         C   s   | |  _  d  S(   N(   R€   (   R   t   data(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _set_stringData  s    c         C   s   |  i  S(   N(   Rg   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _get_encoding  s    c         C   s   | |  _  d  S(   N(   Rg   (   R   Rg   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _set_encoding  s    c         C   s   |  i  S(   N(   Rc   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _get_publicId!  s    c         C   s   | |  _  d  S(   N(   Rc   (   R   Rc   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _set_publicId#  s    c         C   s   |  i  S(   N(   RG   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _get_systemId&  s    c         C   s   | |  _  d  S(   N(   RG   (   R   RG   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _set_systemId(  s    c         C   s   |  i  S(   N(   Rm   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _get_baseURI+  s    c         C   s   | |  _  d  S(   N(   Rm   (   R   RB   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _set_baseURI-  s    (   s
   byteStreams   characterStreams
   stringDatas   encodings   publicIds   systemIds   baseURI(   R   R   R~   R    R   R‚   Rƒ   R„   R…   R‡   Rˆ   R‰   RŠ   R‹   RŒ   R   RŽ   R   (    (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyR      s"    															t   DOMBuilderFilterc           B   sJ   e  Z d  Z d Z d Z d Z d Z e i Z	 d „  Z
 d „  Z d „  Z RS(   sS   Element filter which can be used to tailor construction of
    a DOM instance.
    i   i   i   i   c         C   s   |  i  S(   N(   t
   whatToShow(   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   _get_whatToShowB  s    c         C   s   |  i  S(   N(   t   FILTER_ACCEPT(   R   t   element(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt
   acceptNodeE  s    c         C   s   |  i  S(   N(   R“   (   R   R”   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   startContainerH  s    (   R   R   R   R“   t   FILTER_REJECTt   FILTER_SKIPt   FILTER_INTERRUPTR    t   SHOW_ALLR‘   R’   R•   R–   (    (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyR   1  s   			t
   DocumentLSc           B   sJ   e  Z d  Z e Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(   s=   Mixin to create documents that conform to the load/save spec.c         C   s   t  S(   N(   R   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt
   _get_asyncS  s    c         C   s!   | o t  i i d ƒ ‚ n d  S(   Ns.   asynchronous document loading is not supported(   R,   R-   R.   (   R   t   async(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt
   _set_asyncU  s    	c         C   s   t  d ƒ ‚ d  S(   Ns'   haven't figured out what this means yet(   RN   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   abortZ  s    c         C   s   t  d ƒ ‚ d  S(   Ns   haven't written this yet(   RN   (   R   RB   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   load`  s    c         C   s   t  d ƒ ‚ d  S(   Ns   haven't written this yet(   RN   (   R   Rn   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   loadXMLc  s    c         C   sD   | d  j o
 |  } n$ | i |  j	 o t i i ƒ  ‚ n | i ƒ  S(   N(   R   t   ownerDocumentR,   R-   t   WrongDocumentErrt   toxml(   R   t   snode(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   saveXMLf  s
    
(   R   R   R   R   R   Rœ   Rž   RŸ   R    R¡   R¦   (    (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyR›   N  s   					t   DOMImplementationLSc           B   s/   e  Z d  Z d Z d „  Z d „  Z d „  Z RS(   i   i   c         C   sq   | d  j	 o t i i d ƒ ‚ n | |  i j o t ƒ  S| |  i j o t i i d ƒ ‚ n t d ƒ ‚ d  S(   Ns   schemaType not yet supporteds'   asynchronous builders are not supporteds   unknown value for mode(   R   R,   R-   R.   t   MODE_SYNCHRONOUSR   t   MODE_ASYNCHRONOUSRM   (   R   t   modet
   schemaType(    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   createDOMBuilderr  s    		c         C   s   t  d ƒ ‚ d  S(   Ns-   the writer interface hasn't been written yet!(   RN   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   createDOMWriter}  s    c         C   s   t  ƒ  S(   N(   R   (   R   (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   createDOMInputSource  s    (   R   R   R¨   R©   R¬   R­   R®   (    (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyR§   n  s
   		(    (    (    (    (    (   R   RE   t   xml.domR,   t   xml.dom.NodeFilterR    t   __all__R   R   R*   t   objectR   R   R   R›   R§   (    (    (    s(   /usr/lib/python2.6/xml/dom/xmlbuilder.pyt   <module>   s    ¤	,1 