add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
B

�/g^�=c@s�ddlZddlmZddlmZddlmZGdd�d�Ze��dd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dd�Ze�d�Zdd�ZGdd�d�ZGdd�d�ZGdd�d�Zedkr�ddlmZeddd d!�dS)"�N)�askyesno)�
askinteger)�idleConfc@s2eZdZdd�Zedd��Zdd�Zd
dd	�ZdS)�FormatParagraphcC�
||_dS�N��editwin��selfr�r�&/usr/lib64/python3.7/idlelib/format.py�__init__�zFormatParagraph.__init__cCstjdddddd�|_dS)NZ
extensionsrz	max-width�intiH)ZtypeZdefault)rZ	GetOption�	max_width)Zclsrrr�reload"szFormatParagraph.reloadcCs
d|_dSrr�r
rrr�close'rzFormatParagraph.closeNc	Cs�|dkr|jn|}|jj}|j��\}}|rF|rF|�||�}t|�}nt||�d��\}}}}|rpt|||�}n
t	||�}|�
ddd�||kr�|�d|�|��|�
||�|�||�|��n|�d|�|�d�dS)N�insert�sel�1.0�end�break)rr�text�get_selection_indices�get�get_comment_header�find_paragraph�index�reformat_comment�reformat_paragraph�
tag_remove�mark_set�undo_block_start�deleter�undo_block_stopZsee)	r
�event�limitr�first�last�data�comment_header�newdatarrr�format_paragraph_event*s(



z&FormatParagraph.format_paragraph_eventr)�__name__�
__module__�__qualname__r
Zclassmethodrrr-rrrrrsrc
CsFtt|�d��\}}|�d|d|�}x:|�d|dd�rbt|�rb|d}|�d|d|�}q*W|}t|�}t|�}x<t|�|kr�t||d��s�|d}|�d|d|�}qzWd|}|d}|�d|d|�}xJ|dk�r$t|�|k�r$t||d���s$|d}|�d|d|�}q�Wd|d}	|	|||�|	|�fS)NZ.z%d.0z%d.endz<r�r)Zmapr�splitrZcompare�is_all_whiter�len)
rZmarkZlinenoZcol�lineZfirst_linenor+Zcomment_header_lenr)r(rrrrSs,rcCs�|�d�}d}t|�}x ||kr6t||�r6|d}qW||krD|St||�}|d|kr~t||d�s~t||d�}n|}|d|�}|}x�||k�rTt||��sTt�d||�}	x�tdt|	�d�D]x}
|	|
}|s�q�t||���|k�r||k�r|�|���|}||d}|
dt|	�kr�|	|
ddkr�|d}q�W|d}q�W|�|���|�	||d��d�
|�S)N�
rr1z(\s+)�� )r2r4r3�
get_indent�re�range�
expandtabsZappend�rstripZextend�join)r*r'�linesZiZnZindent1Zindent2�newZpartialZwordsZjZwordrrrr xs<

 r cs�t���d��fdd�|�d�D��}t|t��d�}t||�}|�d�}d}|dshd}|dd�}d��fdd�|D��|S)Nr6c3s|]}|�d�VqdSrr�Z.0r5)�lcrr�	<genexpr>��z#reformat_comment.<locals>.<genexpr>i�i����c3s|]}�|VqdSrrrA)r+rrrC�rD)r4r>r2�maxr )r*r'r+Zformat_widthr,Zblock_suffixr)r+rBrr�s

rcCst�d|�dk	S)Nz^\s*$)r:�match�r5rrrr3�sr3cCst�d|���S)Nz	^([ \t]*)�r:rG�grouprHrrrr9�sr9cCs"t�d|�}|dkrdS|�d�S)Nz^([ \t]*#*)rEr1rI)r5�mrrrr�srz[ \t]*cCs$t�|�}|��t|���|��fSr)�_line_indent_rerGrr4rJr<)r5�tabwidthrKrrr�get_line_indent�s
rNc@sheZdZdd�Zdd�Zdd�Zddd	�Zdd
d�Zddd
�Zddd�Z	ddd�Z
ddd�Zdd�ZdS)�FormatRegioncCrrrr	rrrr
�rzFormatRegion.__init__cCsr|jj}|j��\}}|r<|r<|�|d�}|�|d�}n|�d�}|�d�}|�||�}|�d�}||||fS)Nz
 linestartz-1c lineend +1czinsert linestartzinsert lineend +1cr6)rrrrrr2)r
rr(r)�head�tail�charsr?rrr�
get_region�s



zFormatRegion.get_regioncCsz|jj}d�|�}||kr&|��dS|�ddd�|�d|�|��|�||�|�||�|�	�|�
d|d�dS)Nr6rrrr)rrr>Zbellr!r"r#r$rr%Ztag_add)r
rPrQrRr?rZnewcharsrrr�
set_region�s
zFormatRegion.set_regionNc
Cs�|��\}}}}xZtt|��D]J}||}|rt||jj�\}}	|	|jj}	|j�|	�||d�||<qW|�||||�dS�Nr)	rSr;r4rNrrM�indentwidth�_make_blanksrT�
r
r&rPrQrRr?�posr5�raw�	effectiverrr�indent_region_events z FormatRegion.indent_region_eventc
Cs�|��\}}}}x`tt|��D]P}||}|rt||jj�\}}	t|	|jjd�}	|j�|	�||d�||<qW|�	||||�dS)Nrr)
rSr;r4rNrrMrFrVrWrTrXrrr�dedent_region_events z FormatRegion.dedent_region_eventcCsR|��\}}}}x,tt|�d�D]}||}d|||<q"W|�||||�dS)Nr1�##r�rSr;r4rT�r
r&rPrQrRr?rYr5rrr�comment_region_event sz!FormatRegion.comment_region_eventcCs�|��\}}}}xdtt|��D]T}||}|s0q|dd�dkrN|dd�}n|dd�dkrj|dd�}|||<qW|�||||�dS)Nr7r^r1z#rr_r`rrr�uncomment_region_event,sz#FormatRegion.uncomment_region_eventc
Cs�|��\}}}}|��}|dkr$dSx\tt|��D]L}||}|r2t||�\}	}
t|
|�\}}d|d|||	d�||<q2W|�||||�dS)Nz	r8r)rS�_asktabwidthr;r4rNZdivmodrT)
r
r&rPrQrRr?rMrYr5rZr[ZntabsZnspacesrrr�tabify_region_event?s$z FormatRegion.tabify_region_eventcCs`|��\}}}}|��}|dkr$dSx&tt|��D]}||�|�||<q2W|�||||�dSrU)rSrcr;r4r<rT)r
r&rPrQrRr?rMrYrrr�untabify_region_eventNsz"FormatRegion.untabify_region_eventcCstdd|jj|jjddd�S)Nz	Tab widthzColumns per tab? (2-16)r7���parentZinitialvalueZminvalueZmaxvalue)rrrrVrrrrrcYszFormatRegion._asktabwidthrrrrrr)
r.r/r0r
rSrTr\r]rarbrdrercrrrrrO�s





rOc@s$eZdZdd�Zdd�Zdd�ZdS)�IndentscCrrrr	rrrr
grzIndents.__init__cCsJ|j}|j}tddd|dd|dd|jd�rF||_d	|_d
S)NzToggle tabsz
Turn tabs )ZonZoffz?
Indent width )zwill bez
remains atz 8.z!
 Note: a tab is always 8 columns)rhir)r�usetabsrrrV)r
r&rrjrrr�toggle_tabs_eventjs
zIndents.toggle_tabs_eventcCs<|j}tdd|j|jddd�}|r8||jkr8|js8||_dS)NzIndent widthz6New indent width (2-16)
(Always use 8 when using tabs)r7rfrgr)rrrrVrj)r
r&rr@rrr�change_indentwidth_eventzsz Indents.change_indentwidth_eventN)r.r/r0r
rkrlrrrrridsric@seZdZdd�Zddd�ZdS)�RstripcCrrrr	rrrr
�rzRstrip.__init__Nc	Cs�|jj}|jj}|��tt|�d���}xZtd|�D]L}|�d|d|�}t	|�}t	|�
��}||kr6|�d||fd|�q6W|�d�dkr�t|jd�s�x*|�d	�d
kr�|�d�dkr�|�d�q�W|�
�dS)Nrr1z%i.0z%i.endz%i.%izend-2cr6Zinterpzend-1crzend-3c)rr�undor#rZfloatrr;rr4r=r$Zhasattrr%)	r
r&rrnZend_lineZcurZtxtrZZcutrrr�	do_rstrip�s zRstrip.do_rstripr)r.r/r0r
rorrrrrm�srmZ__main__)�mainzidlelib.idle_test.test_formatr7F)Z	verbosityZexit)r:Ztkinter.messageboxrZtkinter.simpledialogrZidlelib.configrrrrr rr3r9rZcompilerLrNrOrirmr.ZunittestrprrrrZ<module>s(C%$

$