add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
f

��_o=c@s�dZddlTddlmZmZddlmZddlmZmZddlmZddlm	Z	m
Z
ddlZejdd	�d
krxe
dd��[zddlmZWney�e
d
d��Yn0eed�s�e
d
d��ddlmZmZmZejZejZzddlZWne�ydd�ZYn0ddlZejZ[[Gdd�d�ZGdd�dej�ZGdd�dejej�Z dd�Z!e"dk�r�ddl#Z$e!�Z%e%�&e$j'j�(��e%�)e$j'�*��e%�+d�dS)z0.20�)Z*)�feature_validation�feature_namespaces)�feature_namespace_prefixes)�feature_external_ges�feature_external_pes)�feature_string_interning)�property_xml_string�property_interning_dictNiZjavazexpat not available in Java)�expatzexpat not supported�ParserCreate)�	xmlreader�saxutils�handlercCs|S�N�)Zorr�,/usr/lib64/python3.10/xml/sax/expatreader.py�_mkproxy'�rc@seZdZdS)�
_ClosedParserN)�__name__�
__module__�__qualname__rrrrr.src@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�ExpatLocatorcCst|�|_dSr)r�_ref��self�parserrrr�__init__9rzExpatLocator.__init__cCs|j}|jdurdS|jjSr)r�_parser�ErrorColumnNumberrrrr�getColumnNumber<�
zExpatLocator.getColumnNumbercCs|j}|jdurdS|jjS�N�)rr�ErrorLineNumberrrrr�
getLineNumberBr zExpatLocator.getLineNumbercC�|j}|durdS|j��Sr)r�_source�getPublicIdrrrrr'H�zExpatLocator.getPublicIdcCr%r)rr&�getSystemIdrrrrr)Nr(zExpatLocator.getSystemIdN)rrrrrr$r'r)rrrrr3s
rc@seZdZdCdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dd�Z
dDdd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd(d)�Zd*d+�Zd,d-�Zd.d/�Zd0d1�Zd2d3�Zd4d5�Zd6d7�Zd8d9�Zd:d;�Zd<d=�Zd>d?�Z d@dA�Z!dBS)E�ExpatParserr���cCsFtj�||�t��|_d|_||_d|_d|_g|_	d|_
d|_dS)NFr)r�IncrementalParserrZInputSourcer&r�_namespaces�_lex_handler_prop�_parsing�
_entity_stack�
_external_ges�
_interning)rZnamespaceHandlingZbufsizerrrrZs
zExpatParser.__init__cCsVt�|�}||_z*|��|j�t|��tj�	||�Wn|�
��Yn0dSr)r�prepare_input_sourcer&�reset�
_cont_handlerZsetDocumentLocatorrrr,�parse�
_close_source�r�sourcerrrr6gs
zExpatParser.parsecCs |��dur|j�|���dSr)r)rZSetBaser8rrr�
prepareParserwszExpatParser.prepareParsercCs tj�||�|jr|��dSr)rr,�setContentHandlerr/�_reset_cont_handler)rr
rrrr;}szExpatParser.setContentHandlercCsP|tkr|jS|tkr |jduS|tttfvr2dS|tkr@|jSt	d|��dS)Nr�Feature '%s' not recognized)
rr-rr2rrrrr1�SAXNotRecognizedException�r�namerrr�
getFeature�s
�zExpatParser.getFeaturecCs�|jrtd��|tkr||_n�|tkr.||_nt|tkrT|rL|jdurRi|_nVd|_nN|tkrj|r�td��n8|t	kr�|r�td��n"|t
kr�|r�td��ntd|��dS)Nz!Cannot set features while parsingz!expat does not support validationz/expat does not read external parameter entitiesz(expat does not report namespace prefixesr=)r/�SAXNotSupportedExceptionrr-rr1rr2rrrr>)rr@Zstaterrr�
setFeature�s:
����zExpatParser.setFeaturecCsd|tjkr|jS|tkr|jS|tkrT|jrLt|jd�rB|j��St	d��nt
d��t	d|��dS)N�GetInputContextz=This version of expat does not support getting the XML stringz.XML string cannot be returned when not parsing�Property '%s' not recognized)r
�property_lexical_handlerr.rr2rr�hasattrrDr>rBr?rrr�getProperty�s

��zExpatParser.getPropertycCsV|tjkr ||_|jrR|��n2|tkr0||_n"|tkrFtd|��nt	d|��dS)NzProperty '%s' cannot be setrE)
r
rFr.r/�_reset_lex_handler_proprr2rrBr>)rr@�valuerrr�setProperty�s

��zExpatParser.setPropertyFc
Cs||js|��d|_|j��z|j�||�WnFtjyv}z,tt�	|j
�||�}|j�|�WYd}~n
d}~00dS)NT)
r/r4r5Z
startDocumentrZParser	ZerrorZSAXParseExceptionZErrorStringZcodeZ_err_handlerZ
fatalError)r�data�isFinalZeZexcrrr�feed�s
zExpatParser.feedcCsZ|j}z4|��}|dur |��W|��}|durV|��n|��}|durT|��0dSr)r&ZgetCharacterStream�closeZ
getByteStream)rr9Zfilerrrr7�s

�zExpatParser._close_sourcecCs�|js|jdust|jt�r dSz`|jddd�|j��d|_d|_Wd|_|jdurxt�}|jj|_|jj	|_	||_|�
�n:d|_|jdur�t�}|jj|_|jj	|_	||_|�
�0dS)NsT)rMF)r0rZ
isinstancerrNr5ZendDocumentr/rr#r7rrrrrO�s.
�




�


zExpatParser.closecCs|jj|j_|jj|j_dSr)r5�processingInstructionrZProcessingInstructionHandler�
charactersZCharacterDataHandler�rrrrr<�s�zExpatParser._reset_cont_handlercCs`|j}|j}|dur4d|_d|_d|_d|_d|_n(|j|_|j|_|j	|_|j
|_|j|_dSr)r.rZCommentHandlerZStartCdataSectionHandlerZEndCdataSectionHandlerZStartDoctypeDeclHandlerZEndDoctypeDeclHandlerZcommentZ
startCDATAZendCDATA�start_doctype_declZendDTD)rZlexrrrrrIsz#ExpatParser._reset_lex_handler_propcCs�|jr>tj|j��d|jd�|_d|j_|j|j_	|j
|j_n,tj|j��|jd�|_|j|j_	|j
|j_|��|j|j_|j|j_|j|j_|j|j_d|_|jr�|��|j|j_z|j|j_Wnty�Yn0|j�tj �d|_!g|_"dS)Nz )Zinternr"F)#r-r	r
r&ZgetEncodingr2rZnamespace_prefixes�start_element_nsZStartElementHandler�end_element_nsZEndElementHandler�
start_element�end_elementr<�unparsed_entity_declZUnparsedEntityDeclHandler�
notation_declZNotationDeclHandler�start_namespace_declZStartNamespaceDeclHandler�end_namespace_declZEndNamespaceDeclHandlerZ_decl_handler_propr.rI�external_entity_refZExternalEntityRefHandler�skipped_entity_handlerZSkippedEntityHandlerZAttributeErrorZSetParamEntityParsingZ*XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONEr/r0rRrrrr4s<�
�






�zExpatParser.resetcCs|jdurdS|jjSr)rrrRrrrr;�
zExpatParser.getColumnNumbercCs|jdurdS|jjSr!)rr#rRrrrr$@r^zExpatParser.getLineNumbercC�
|j��Sr)r&r'rRrrrr'ErzExpatParser.getPublicIdcCr_r)r&r)rRrrrr)HrzExpatParser.getSystemIdcCs|j�|t|��dSr)r5ZstartElement�AttributesImpl)rr@�attrsrrrrVLrzExpatParser.start_elementcC�|j�|�dSr)r5Z
endElementr?rrrrWOrzExpatParser.end_elementcCs�|��}t|�dkrd|f}n&t|�dkr<|d|df}nt|�}i}i}|��D]|\}}|��}t|�}	|	dkr�|}
d|f}n>|	dkr�d|d|df}
|d|df}n|d}
t|�}|||<|
||<qT|j�|dt||��dS)Nr"�rz%s:%si)�split�len�tupleZitemsr5ZstartElementNS�AttributesNSImpl)rr@ra�pairZnewattrsZqnamesZanamerJZpartsZlengthZqnameZapairrrrrTRs0



�zExpatParser.start_element_nscCsV|��}t|�dkrd|f}n&t|�dkr<|d|df}nt|�}|j�|d�dS)Nr"rcr)rdrerfr5ZendElementNS)rr@rhrrrrUts
zExpatParser.end_element_nscC�|j�||�dSr)r5rP)rZtargetrLrrr�processing_instruction�rz"ExpatParser.processing_instructioncCrbr)r5rQ)rrLrrr�character_data�rzExpatParser.character_datacCrir)r5ZstartPrefixMapping)r�prefixZurirrrrZ�rz ExpatParser.start_namespace_declcCrbr)r5ZendPrefixMapping)rrlrrrr[�rzExpatParser.end_namespace_declcCs|j�|||�dSr)r.ZstartDTD)rr@�sysid�pubidZhas_internal_subsetrrrrS�rzExpatParser.start_doctype_declcCs|j�||||�dSr)�_dtd_handlerZunparsedEntityDecl)rr@�basermrnZ
notation_namerrrrX�rz ExpatParser.unparsed_entity_declcCs|j�|||�dSr)roZnotationDecl)rr@rprmrnrrrrY�rzExpatParser.notation_declcCs�|js
dS|j�||�}t�||j��p*d�}|j�|j	|jf�|j	�
|�|_	||_ztj�
||�WnYdS|jd\|_	|_|jd=dS)Nr"Zri����)r1Z_ent_handlerZ
resolveEntityrr3r&r)r0ZappendrZExternalEntityParserCreaterr,r6)rZcontextrprmrnr9rrrr\�s"
�zExpatParser.external_entity_refcCs|rd|}|j�|�dS)Nz%)r5Z
skippedEntity)rr@Zis_perrrr]�sz"ExpatParser.skipped_entity_handlerN)rr+)F)"rrrrr6r:r;rArCrHrKrNr7rOr<rIr4rr$r'r)rVrWrTrUrjrkrZr[rSrXrYr\r]rrrrr*Ws>


'"r*cOst|i|��Sr)r*)ZargsZkwargsrrr�
create_parser�rrqZ__main__z:http://www.ibiblio.org/xml/examples/shakespeare/hamlet.xml),ZversionZxml.sax._exceptionsZxml.sax.handlerrrrrrrrrZsysZplatformZSAXReaderNotAvailableZxml.parsersr	ZImportErrorrGZxml.saxrrr
r`rgZ_weakrefrZweakrefZproxyrZLocatorrr,r*rqrZxml.sax.saxutilsZxmlZpr;ZsaxZXMLGeneratorZsetErrorHandlerZErrorHandlerr6rrrrZ<module>sL


$_