MINI MINI MANI MO

Path : /lib64/python2.7/site-packages/
File Upload :
Current File : //lib64/python2.7/site-packages/drv_libxml2.pyc

ó
áókWc@s7dZdZdZddlZddlmZmZeefZddlTddl	m
Z
mZddlm
Z
mZmZmZmZmZmZmZmZmZejd	ƒd
Zd„ZyddlZWn#ek
r÷Zedeƒ‚nXd
e
jfd„ƒYZde
jfd„ƒYZ d„Z!dS(sí A SAX2 driver for libxml2, on top of it's XmlReader API

USAGE
    # put this file (drv_libxml2.py) in PYTHONPATH
    import xml.sax
    reader = xml.sax.make_parser(["drv_libxml2"])
    # ...and the rest is standard python sax.

CAVEATS
    - Lexical handlers are supported, except for start/endEntity
      (waiting for XmlReader.ResolveEntity) and start/endDTD
    - Error callbacks are not exactly synchronous, they tend
      to be invoked before the corresponding content callback,
      because the underlying reader interface parses
      data by chunks of 512 bytes
    
TODO
    - search for TODO
    - some ErrorHandler events (warning)
    - some ContentHandler events (setDocumentLocator, skippedEntity)
    - EntityResolver (using libxml2.?)
    - DTDHandler (if/when libxml2 exposes such node types)
    - DeclHandler (if/when libxml2 exposes such node types)
    - property_xml_string?
    - feature_string_interning?
    - Incremental parser
    - additional performance tuning:
      - one might cache callbacks to avoid some name lookups
      - one might implement a smarter way to pass attributes to startElement
        (some kind of lazy evaluation?)
      - there might be room for improvement in start/endPrefixMapping
      - other?

u Stéphane Bidoul <sbi@skynet.be>s0.3iÿÿÿÿN(t
StringTypetUnicodeType(t*(t	xmlreadertsaxutils(
tfeature_namespacestfeature_namespace_prefixestfeature_string_interningtfeature_validationtfeature_external_gestfeature_external_pestproperty_lexical_handlertproperty_declaration_handlertproperty_dom_nodetproperty_xml_stringtutf8icCs"|dkr|St|ƒdSdS(Ni(tNonet_decoder(ts((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyt_d<ss+libxml2 not available: import error was: %stLocatorcBs;eZdZd„Zd„Zd„Zd„Zd„ZRS(s4SAX Locator adapter for libxml2.xmlTextReaderLocatorcCs
||_dS(N(t_Locator__locator(tselftlocator((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyt__init__KscCsdS(s6Return the column number where the current event ends.iÿÿÿÿ((R((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pytgetColumnNumberNscCs
|jjƒS(s4Return the line number where the current event ends.(Rt
LineNumber(R((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyt
getLineNumberRscCsdS(s3Return the public identifier for the current event.N(R(R((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pytgetPublicIdVscCs
|jjƒS(s3Return the system identifier for the current event.(RtBaseURI(R((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pytgetSystemIdZs(t__name__t
__module__t__doc__RRRRR(((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyRHs				t
LibXml2ReadercBsbeZd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„ZRS(
cCs\tjj|ƒd|_d|_d|_d|_d|_d|_	d|_
d|_dS(Nii(Rt	XMLReaderRt_LibXml2Reader__nst_LibXml2Reader__nspfxt_LibXml2Reader__validatet_LibXml2Reader__extparamst_LibXml2Reader__parsingRt_LibXml2Reader__lex_handlert_LibXml2Reader__decl_handlert_LibXml2Reader__errors(R((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyR`s							cCsG|jdkrg|_n|jj|t|dt|ƒƒfƒdS(N(R+RtappendtSAXParseExceptionR(RtargtmsgtseverityR((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyt
_errorHandleros
	cCs’x‚|jD]w\}}|tjtjfkrA|jj|ƒq
|rq||jddkrq|jj|ƒq
|jj|ƒq
Wd|_dS(Niÿÿÿÿi(	R+tlibxml2t PARSER_SEVERITY_VALIDITY_WARNINGtPARSER_SEVERITY_WARNINGt_err_handlertwarningt
fatalErrorterrorR(RtfatalR0t	exception((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyt
_reportErrorsvs	cCs%d|_zt|ƒtkr0tj|ƒ}n9tj|ƒ}tj|jƒƒ}|j	|j
ƒƒ}|j|jdƒ|jr×|jtjdƒ|jtjdƒ|jtjdƒ|jtj|jƒn|jtjdƒ|jrtjiiƒ}ntjiƒ}g}|jjƒxÀ|jƒ}|dkrg|jdk	rÌ|jdƒqÌne|dkr–|jdk	r’|jdƒnPn6|jdk	rµ|jdƒn|jjt dƒƒP|j!ƒ}|dkr$|jr‹t"|j#ƒƒt"|j$ƒƒf}	t"|j%ƒƒ}
i|_&}i|_'}g}
xÒ|j(ƒrt"|j%ƒƒ}t"|j)ƒƒ}|j*dƒrÜt+|ƒdkr¤|d}nd}|
j,|ƒ|jj-||ƒ|j.sÜqFqÜnt"|j#ƒƒt"|j$ƒƒf}|||<|||<qFW|j/ƒ|jj0|	|
|ƒ|j1ƒr{|jj2|	|
ƒx.|
D]}|jj3|ƒq^Wq!|j,|
ƒqêt"|j%ƒƒ}	i|_&}x8|j(ƒrät"|j%ƒƒ}t"|j)ƒƒ||<q­W|j/ƒ|jj4|	|ƒ|j1ƒrê|jj5|	ƒqêq-|dkr¿|jr |jj2t"|j#ƒƒt"|j$ƒƒft"|j%ƒƒƒxC|j6ƒD]}|jj3|ƒqƒWqê|jj5t"|j%ƒƒƒq-|dkrê|jj7t"|j)ƒƒƒq-|d	kr|jj8t"|j)ƒƒƒq-|d
kr@|jj7t"|j)ƒƒƒq-|dkr©|j9dk	rk|j9j:ƒn|jj7t"|j)ƒƒƒ|j9dk	rê|j9j;ƒqêq-|dkrí|j9dk	rà|j<t"|j%ƒƒƒn|j=ƒq-|dkr'|j9dk	rê|j>t"|j%ƒƒƒqêq-|d
kra|jj?t"|j%ƒƒt"|j)ƒƒƒq-|dkrž|j9dk	rê|j9j@t"|j)ƒƒƒqêq-|dkr­q-|dkr¼q-|dkrËq-|dkrÚq-t d|ƒ‚q-|dkr	|jjAƒn|jBƒWdd|_XdS(Niis"Read failed (no details available)txmlnsiiiii
iiiiii
iisUnexpected node type %d(CR(ttypetStringTypesR2tnewTextReaderFilenameRtprepare_input_sourcetinputBuffert
getByteStreamt
newTextReaderRtSetErrorHandlerR1RR't
SetParserProptPARSER_LOADDTDtPARSER_DEFAULTATTRStPARSER_SUBST_ENTITIEStPARSER_VALIDATER&R$RtAttributesNSImpltAttributesImplt
_cont_handlert
startDocumenttReadR+R;R5R7tSAXExceptiontNodeTypeRtNamespaceUrit	LocalNametNamet_attrst_qnamestMoveToNextAttributetValuet
startswithtlenR,tstartPrefixMappingR%t
MoveToElementtstartElementNStIsEmptyElementtendElementNStendPrefixMappingtstartElementt
endElementtpopt
characterstignorableWhitespaceR)t
startCDATAtendCDATAtstartEntityt
ResolveEntityt	endEntitytprocessingInstructiontcommenttendDocumenttClose(RtsourcetreadertinputtattributesNSImpltattributesImpltprefixestrtnodeTypeteltNameteltQNametattrstqnamestnewPrefixestqnametvaluet	newPrefixtattNametprefix((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pytparse…sô			
	
	



	
		

	



	
		!
	%"cCstdƒ‚dS(NsDTDHandler not supported(tSAXNotSupportedException(Rthandler((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyt
setDTDHandler0scCstdƒ‚dS(NsEntityResolver not supported(R(Rtresolver((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pytsetEntityResolver4scCsp|tkr|jS|tkr&|jS|tkr9|jS|tkrIdS|tkr\|jSt	d|ƒ‚dS(NisFeature '%s' not recognized(
RR$RR%RR&R	R
R'tSAXNotRecognizedException(Rtname((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyt
getFeature8scCs¾|jrtd|ƒ‚n|tkr4||_n†|tkrL||_nn|tkrd||_nV|tkr’|dkrºtd|ƒ‚qºn(|t	krª||_
ntd|ƒ‚dS(Ns#Cannot set feature %s while parsingisFeature '%s' not supportedsFeature '%s' not recognized(R(RRR$RR%RR&R	R
R'R†(RR‡tstate((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyt
setFeatureGs"	
cCs:|tkr|jS|tkr&|jStd|ƒ‚dS(NsProperty '%s' not recognized(RR)RR*R†(RR‡((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pytgetProperty\scCsT|tkr||_n8|tkr@td|ƒ‚||_ntd|ƒ‚dS(NsProperty '%s' not supportedsProperty '%s' not recognized(RR)RRR*R†(RR‡R|((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pytsetPropertyes
(RR RR1R;R€RƒR…RˆRŠR‹RŒ(((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyR"^s				«						cCstƒS(N(R"(((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyt
create_parserqs("R!t
__author__t__version__tcodecsttypesRRR>txml.sax._exceptionstxml.saxRRtxml.sax.handlerRRRRR	R
RRR
RtlookupRRR2tImportErrortetSAXReaderNotAvailableRR#R"R(((s1/usr/lib64/python2.7/site-packages/drv_libxml2.pyt<module>#s&
F
	ÿ

OHA YOOOO