add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
U

�AT^';c@s�ddlZddlZejdedd�dZGdd�d�ZGdd�d�ZGd	d
�d
�ZGdd�de�ZGd
d�de�Z	ddd�Z
edkr�e
�dS)�Nz"the formatter module is deprecatedi)Z
stacklevelc@s�eZdZd'dd�Zdd�Zdd�Zdd	�Zd(d
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd)d#d$�Zd*d%d&�ZdS)+�
NullFormatterNcCs|dkrt�}||_dS�N)�
NullWriter�writer��selfr�r�!/usr/lib64/python3.8/formatter.py�__init__)szNullFormatter.__init__cC�dSrr�r�	blanklinerrr�
end_paragraph-�zNullFormatter.end_paragraphcCr
rr�rrrr�add_line_break.rzNullFormatter.add_line_breakcOr
rr�rZargsZkwrrr�add_hor_rule/rzNullFormatter.add_hor_rulecCr
rr�r�format�counterrrrr�add_label_data0rzNullFormatter.add_label_datacCr
rr�r�datarrr�add_flowing_data1rzNullFormatter.add_flowing_datacCr
rrrrrr�add_literal_data2rzNullFormatter.add_literal_datacCr
rrrrrr�flush_softspace3rzNullFormatter.flush_softspacecCr
rr�r�alignrrr�push_alignment4rzNullFormatter.push_alignmentcCr
rrrrrr�
pop_alignment5rzNullFormatter.pop_alignmentcCr
rr)r�xrrr�	push_font6rzNullFormatter.push_fontcCr
rrrrrr�pop_font7rzNullFormatter.pop_fontcCr
rr)r�marginrrr�push_margin8rzNullFormatter.push_margincCr
rrrrrr�
pop_margin9rzNullFormatter.pop_margincCr
rr�r�spacingrrr�set_spacing:rzNullFormatter.set_spacingcGr
rr�r�stylesrrr�
push_style;rzNullFormatter.push_style�cCr
rr�rZnrrr�	pop_style<rzNullFormatter.pop_stylecCr
rr�rZflagrrr�assert_line_data=rzNullFormatter.assert_line_datarr�r,r1)�__name__�
__module__�__qualname__r	r
rrrrrrrrr!r"r$r%r(r+r.r0rrrrrs$


rc@s�eZdZdd�Zdd�Zdd�Zdd�Zd-d
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zd.d)d*�Zd/d+d,�Zd	S)0�AbstractFormattercCsR||_d|_g|_g|_g|_d|_g|_d|_d|_d|_	d|_
d|_d|_dS�Nr,r)
rr�align_stack�
font_stack�margin_stackr'�style_stack�nospace�	softspace�para_end�parskip�
hard_break�
have_labelrrrrr	NszAbstractFormatter.__init__cCs`|js|j��d|_|j|krD|jsD|j�||j�||_d|_d|_|_|_d|_dS�Nrr,)	r?r�send_line_breakr@r>�send_paragraphr;r=r<rrrrr
]s
zAbstractFormatter.end_paragraphcCs8|js"|js"|j��d|_|_d|_|_d|_dSrA)r?r=rrBr@r>r;r<rrrrrhs

z AbstractFormatter.add_line_breakcOsF|js|j��|jj||�d|_|_d|_|_|_|_dSr6)	r?rrB�
send_hor_ruler;r@r=r<r>rrrrros

zAbstractFormatter.add_hor_ruleNcCs�|js|js|j��|js0|j�|r*dp,d�t|t�rP|j�|�	||��n|j�|�d|_
|_|_|_d|_|_dSr6)
r@r?rrBr=rCZ
isinstanceZstr�send_label_data�format_counterr;r<r>rrrrrvs

z AbstractFormatter.add_label_datacCstd}|D]f}|dkr"|d|}q|dkrD|dkrn||�||�}q|dkrf|dkrn||�||�}q||}q|S)N�Z1z%dZaArZiI)�
format_letter�format_roman)rrr�label�crrrrF�s
z AbstractFormatter.format_countercCs<d}|dkr8t|dd�\}}tt|�|�}||}q|S)NrGrr,i)�divmodZchrZord)r�caserrJr �srrrrH�s
zAbstractFormatter.format_letterc	Cs�ddddg}dddg}d\}}|d	kr�t|d
�\}}|dkrV||||d|}nT|d
krt|||||}n6|dkr�||}|d}nd}||||}||}|d}q|dkr�|��S|S)N�ir rK�mZvZlZd)rGrri
i	r,iirGZI)rLZupper)	rrMrZonesZfivesrJZindexr rNrrrrI�s&


zAbstractFormatter.format_romancCs�|sdS|dd���}|dd���}d�|���}|jrD|sDdS|sN|jrv|sh|jsdd|_d|_dS|jsvd|}d|_|_|_|_|_||_|j	�
|�dS)Nr,������ r)�isspaceZjoin�splitr;r<r>r?r=r@r�send_flowing_data)rrZprespaceZ	postspacerrrr�s*

�z"AbstractFormatter.add_flowing_datacCsZ|sdS|jr|j�d�|dd�dk|_d|_|_|_|_|_|j�|�dS)NrRrQ�
r)	r<rrUr?r;r=r>r@�send_literal_datarrrrr�s�z"AbstractFormatter.add_literal_datacCs:|jr6d|_|_|_|_|_d|_|j�d�dS�Nrr,rR)r<r?r=r>r@r;rrUrrrrr�s�z!AbstractFormatter.flush_softspacecCs@|r.||jkr.|j�|�||_|j�|�n|j�|j�dSr)rr�
new_alignmentr7�appendrrrrr�s
z AbstractFormatter.push_alignmentcCsH|jr|jd=|jr2|jd|_}|j�|�nd|_|j�d�dS�NrQ)r7rrrYrrrrr�szAbstractFormatter.pop_alignmentc
Cs�|\}}}}|jr6d|_|_|_d|_|j�d�|jr~|jd\}}}}	|tkrZ|}|tkrf|}|tkrr|}|tkr~|	}||||f}|j�|�|j�	|�dS)Nrr,rRrQ)
r<r?r=r;rrUr8�AS_ISrZ�new_font)
r�fontZsizerOZbZttZcsizeZciZcbZcttrrrr!�s$zAbstractFormatter.push_fontcCs4|jr|jd=|jr |jd}nd}|j�|�dSr[)r8rr]�rr^rrrr"�szAbstractFormatter.pop_fontcCsB|j�|�dd�|jD�}|s,|r,|d}|j�|t|��dS)NcS�g|]}|r|�qSrr�Z.0rPrrr�
<listcomp>�z1AbstractFormatter.push_margin.<locals>.<listcomp>rQ)r9rZr�
new_margin�len)rr#�fstackrrrr$s
zAbstractFormatter.push_margincCsF|jr|jd=dd�|jD�}|r,|d}nd}|j�|t|��dS)NrQcSr`rrrarrrrb
rcz0AbstractFormatter.pop_margin.<locals>.<listcomp>)r9rrdre)rrfr#rrrr%
s
zAbstractFormatter.pop_margincCs||_|j�|�dSr)r'r�new_spacingr&rrrr(�zAbstractFormatter.set_spacingcGsV|jr*d|_|_|_d|_|j�d�|D]}|j�|�q.|j�t	|j��dSrX)
r<r?r=r;rrUr:rZ�
new_styles�tuple)rr*Zstylerrrr+szAbstractFormatter.push_styler,cCs$|j|d�=|j�t|j��dSr)r:rrirjr-rrrr.!�zAbstractFormatter.pop_stylecCs$||_|_d|_|_|_dS�Nr)r;r?r=r>r@r/rrrr0%rkz"AbstractFormatter.assert_line_datarr1r1)r2r3r4r	r
rrrrFrHrIrrrrrr!r"r$r%r(r+r.r0rrrrr5@s*
	
	
	
r5c@steZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)rcCr
rrrrrrr	2rzNullWriter.__init__cCr
rrrrrr�flush3rzNullWriter.flushcCr
rrrrrrrY4rzNullWriter.new_alignmentcCr
rrr_rrrr]5rzNullWriter.new_fontcCr
rr�rr#Zlevelrrrrd6rzNullWriter.new_margincCr
rrr&rrrrg7rzNullWriter.new_spacingcCr
rrr)rrrri8rzNullWriter.new_stylescCr
rrrrrrrC9rzNullWriter.send_paragraphcCr
rrrrrrrB:rzNullWriter.send_line_breakcOr
rrrrrrrD;rzNullWriter.send_hor_rulecCr
rrrrrrrE<rzNullWriter.send_label_datacCr
rrrrrrrU=rzNullWriter.send_flowing_datacCr
rrrrrrrW>rzNullWriter.send_literal_dataN)r2r3r4r	rmrYr]rdrgrirCrBrDrErUrWrrrrr*src@sdeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dS)�AbstractWritercC�td|f�dS)Nznew_alignment(%r)�ZprintrrrrrYI�zAbstractWriter.new_alignmentcCrp)Nznew_font(%r)rqr_rrrr]LrrzAbstractWriter.new_fontcCstd||f�dS)Nznew_margin(%r, %d)rqrnrrrrdOrrzAbstractWriter.new_margincCrp)Nznew_spacing(%r)rqr&rrrrgRrrzAbstractWriter.new_spacingcCrp)Nznew_styles(%r)rqr)rrrriUrrzAbstractWriter.new_stylescCrp)Nzsend_paragraph(%r)rqrrrrrCXrrzAbstractWriter.send_paragraphcC�td�dS)Nzsend_line_break()rqrrrrrB[rrzAbstractWriter.send_line_breakcOrs)Nzsend_hor_rule()rqrrrrrD^rrzAbstractWriter.send_hor_rulecCrp)Nzsend_label_data(%r)rqrrrrrEarrzAbstractWriter.send_label_datacCrp)Nzsend_flowing_data(%r)rqrrrrrUdrrz AbstractWriter.send_flowing_datacCrp)Nzsend_literal_data(%r)rqrrrrrWgrrz AbstractWriter.send_literal_dataN)r2r3r4rYr]rdrgrirCrBrDrErUrWrrrrroAsroc@sFeZdZddd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Z	dS)�
DumbWriterN�HcCs(|ptj|_||_t�|�|��dSr)�sysZstdout�file�maxcolrr	�reset)rrwrxrrrr	ts
zDumbWriter.__init__cCsd|_d|_dSrl)�col�atbreakrrrrryzrhzDumbWriter.resetcCs |j�d|�d|_d|_dS�NrVr�rw�writerzr{rrrrrC~szDumbWriter.send_paragraphcCs|j�d�d|_d|_dSr|r}rrrrrB�szDumbWriter.send_line_breakcOs:|j�d�|j�d|j�|j�d�d|_d|_dS)NrVz-r)rwr~rxrzr{rrrrrD�s
zDumbWriter.send_hor_rulecCsV|j�|�|�d�}|dkr4d|_||dd�}|��}|jt|�|_d|_dS)NrVrr,)rwr~ZrfindrzZ
expandtabsrer{)rrrOrrrrW�s
zDumbWriter.send_literal_datacCs�|sdS|jp|d��}|j}|j}|jj}|��D]N}|rl|t|�|kr\|d�d}n|d�|d}||�|t|�}d}q6||_|d��|_dS)NrrVrRr,rQ)r{rSrzrxrwr~rTre)rrr{rzrxr~ZwordrrrrU�s$zDumbWriter.send_flowing_data)Nru)
r2r3r4r	ryrCrBrDrWrUrrrrrtks	

rtcCs�t�}t|�}|dk	r t|�}n$tjdd�r>ttjd�}ntj}z,|D]"}|dkrb|�d�qJ|�|�qJW5|tjk	r�|��X|�d�dS)Nr,rVr)	rtr5ZopenrvZargvZstdinZcloser
r)rwZwZfZfpZlinerrr�test�s


rZ__main__r)rvZwarningsZwarnZDeprecationWarningr\rr5rrortrr2rrrrZ<module>s�"k*C