https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/trac/mimeview/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/trac/mimeview/__pycache__/patch.cpython-310.pyc
o

�k�`�4�@s�ddlZddlZddlTddlmZmZmZddlm	Z	m
Z
ddlmZddl
mZddlmZmZmZdgZGd	d�de�ZdS)
�N)�*)�content_to_unicode�IHTMLPreviewRenderer�Mimeview)�Markup�escape)�
expandtabs)�_)�Chrome�
add_script�add_stylesheet�
PatchRendererc@s2eZdZdZee�dd�Zd	dd�Zdd�ZdS)
r
z�HTML renderer for patches in unified diff format.

    This uses the same layout as in the wiki diff view or the changeset view.
    cCs|dvrdSdS)N)ztext/x-diffztext/x-patch�r�)�self�mimetyperr�5/usr/lib/python3/dist-packages/trac/mimeview/patch.py�get_quality_ratio+szPatchRenderer.get_quality_ratioNc	Cs�|j}t|j||�}|�|��t|j�j�}|r!tdd�|D��s-|j�	d|t
|��dSddid|ddd	�}t|d
�t|d�t
|j��|d|�S)
Ncss�|]}|dVqdS)�diffsNr��.0�crrr�	<genexpr>5s�z'PatchRenderer.render.<locals>.<genexpr>z6Invalid unified diff content: %.40r... (%d characters)�style�inlineT�File�)�diff�no_id�changes�longcol�shortcolzcommon/js/diff.jszcommon/css/diff.cssz
diff_div.html)�reqr�env�_diff_to_hdf�
splitlinesr�	tab_width�any�log�debug�lenrrr
�render_fragment)	r�contextr�content�filename�revr"r�datarrr�render0s 

���

zPatchRenderer.renderc0s�dd�}t�d��dd��g}g}t|�}�z�t|�}	d}}	}
}g}}
d}|�d	�s�|�d
�s=|dkr=|�|�|dkr�d}|d
}|��dd�\}}
tdd�|D��r\d}tdd�|D��rgd}
d|g}d|
g}
dd�|D�}|r�|d
��d�d�\}	}|�|	�|
�|�t|�}|r�|�|�t|�}|s�nt|�}q|s�|
s�|�dd�}t|�dkr�|d}t|�dkr�|d}	t|�}|�d�s�|j	�
d|�WdS|�dd�}
t|
�dkr�|
d}
t|
�dkr�|
d}d}|s�|
�r�t�d�}d�tj
�|�|
�|�|�g��}d�tj
�|�|
�ddd�|�|�ddd�g�ddd��}t|�t|�k�r:|}nZ|�rg|�d�}|dt|��}|
dt|��}t|�dk�rft|�dk�rf||f}n-|dk�rxtd |
�d!�d"�}d#}n|
dk�r�td$|�d%�d&�}d'}nd(||
f}d)}nd}g}g}|�d*gd+�|�||||d,�|dd��|d
d-�|d,�|
dd��|dd-�d.��g}t|�}|�r�t�d/|�}|�sאng}|�|�d0d�|��dd�D�\}}}}|�|�d1��d} }!||7}||7}t|�}||k�s||k�s|!�r�d,}"|�r$|d
|dd�}"}|"d,k| k�rL|"d,k} | �r4d2nd3}#|#|dgd4�|dgd4�d5�}$|�|$�n|d}$|"d,k�rZd6d7g}%nT|"d8k�red7}&|&g}%nI|"d9k�rpd6}&|&g}%n>|"d:k�r�|&�r�|$|&�d;i�}'d|'t|$|&d<�<|&g}%n |"d=k�r�d>|dtd?�f|d<d=|}nA|j	�
d@|"�WdS|%D]}(|(d6k�r�|d7}n|d7}|$|(d<�|��q�t|�}|�o�|d
d:k}!||k�s||k�s|!�s|�s�qt�y�Ynw|D]�})|)dAD]�}*|*D]�}|d6|d7}+},|+d<|,d<}-}.|dBd3k�r@t|-�d
k�r&dC|dB<nt|.�d
k�r2dD|dB<nt|-�t|.�k�r@||-|.�tt|-��D]C}/t|-|/|dE�}t|ddF�}dG���fdHd�|�dI�D��}|�dJdK�}t|�|-|/<d;|+v�r�|/|+d;v�r�tdL�|-|/|-|/<�qFtt|.��D]C}/t|.|/|dE�}t|ddF�}dM���fdNd�|�dI�D��}|�dJdO�}t|�|.|/<d;|,v�r�|/|,d;v�r�tdL�|.|/|.|/<�q��q��q��q�|S)PaE
        Translate a diff file into something suitable for inclusion in HDF.
        The result is [(filename, revname_old, revname_new, changes)],
        where changes has the same format as the result of
        `trac.versioncontrol.diff.hdf_diff`.

        If the diff cannot be parsed, this method returns None.
        c	Ss�ddlm}tt|��D]V}||||}}|||�\}}|dks&|dkrb|t|�}|d|�d|||�d||d�||<|t|�}|d|�d|||�d||d�||<qdS)Nr)�get_change_extent��)�trac.versioncontrol.diffr2�ranger*)	�	fromlines�tolinesr2�i�fr�to�start�end�lastrrr�_markup_intraline_changeMs&�
��
���z<PatchRenderer._diff_to_hdf.<locals>._markup_intraline_changez ( +)|^ cSs,tt|�d��d�\}}t|d|d�S)Nr�z&nbsp; z&nbsp;)�divmodr*�groupr)�match�div�modrrr�htmlify[sz+PatchRenderer._diff_to_hdf.<locals>.htmlifyTrFz--- zIndex: zC===================================================================zGIT binary patchr���Ncs��|]}|�d�VqdS)znew fileN��
startswithrrrrrr��z-PatchRenderer._diff_to_hdf.<locals>.<genexpr>z	/dev/nullcsrH)zdeleted fileNrIrrrrrtrKcSsg|]	}|�d�r|�qS)zindex rIrrrr�
<listcomp>xsz.PatchRenderer._diff_to_hdf.<locals>.<listcomp>���z..r@�z+++ zexpected +++ after ---, got %s)�old�newz	([/.~\\])�/�znew file %(new)szb/)rP)�-�+zdeleted file %(deleted)sza/)�deleted)rTrSz(a) %s vs. (b) %s)�a�b�edit�
� )�pathr/�shortrev)�change�props�comments�binaryr�diffs_titlerOrPz.@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@(.*)cSsg|]}t|pd��qS)rN)�int)r�xrrrrL�s��unmodrE)�offset�lines)�type�base�changedrirjrTrS�\�metarg�@z%s (%s)z#this hunk was shorter than expectedzexpected +, - or \, got %srrh�add�remz)�quotesz<del>c3��|]	}���|�VqdS�N��sub�r�seg�rF�space_rerrr���r3r4z</del>z<em>%s</em>z<ins>c3rqrrrsrurwrrr#ryz</ins>)�re�compile�iter�nextrJ�append�splitr'r*r(r)�join�osr[�commonprefix�lstripr	rC�groupsrB�
setdefault�
StopIterationr6rr�replacer)0r�	difflines�tabwidthr?r_rrg�line�oldpath�oldrev�newpath�newrev�oldinfo�newinfor`�diffcmd_line�indexr\�sepr��commonsuffix�commonrVrWr��groups_title�r�blocks�fromline�fromend�toline�toend�	last_type�extra�command�kind�block�sides�	last_siderl�side�orBrirj�f�tr9rrwrr$Ds�	






��



�
���
�
�
�����

����





��

���#�


�������zPatchRenderer._diff_to_hdf)NN)	�__name__�
__module__�__qualname__�__doc__�
implementsrrr1r$rrrrr
!s
)�os.pathr�rz�	trac.core�trac.mimeview.apirrr�trac.util.htmlrr�trac.util.textr�trac.util.translationr	�trac.web.chromer
rr�__all__�	Componentr
rrrr�<module>s

https://t.me/RX1948 - 2025