KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache
System : Linux cs317.bluehost.com 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : andertr9 ( 1047)
PHP Version : 8.2.18
Disable Function : NONE
Directory :  /lib64/python2.7/site-packages/mercurial/hgweb/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyo
�
Hq�Qc@s�ddlZddlZddlmZmZmZmZmZmZddl	m
Z
ddlmZm
Z
ddlmZddlmZddlZd�Zdd�Zd	efd
��YZdefd��YZgdd
�Zdd�Zdd�Zd�Zd�Zd�Zd�Zd�Zd�Z e
d�Z!e
d�Z"d�Z#d�Z$d�Z%d�Z&d�Z'd�Z(d�Z)d�Z*d �Z+d!�Z,d"�Z-d#efd$��YZ.d%ejfd&��YZ/dS('i����N(tmatchtpatchtscmutilterrortuitutil(t_(thextnullid(t
ErrorResponse(tHTTP_NOT_FOUNDcCsd|ddkrd|}n|ddkr:|d }ntjj|�}|dkr\dS|dS(Nit/i����(tostpathtdirname(tptup((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyRs

ccs~|rQ|V|dkr1|dkr1d}|Vnx||krM|d9}q4Wnx&tryd|Vd|V|d9}qTWdS(Nii(i2i
ii(tTrue(tstept	firststep((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt_navseqs			trevnavcBs5eZd�Zd�Zd�Zd�Zd�ZRS(cCs|j|_dS(sUNavigation generation object

        :repo: repo object we generate nav for
        N(t	changelogt_revlog(tselftrepo((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt__init__,scCs|j�dk	S(s,return True if any revision to navigate overN(t_firsttNone(R((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt__nonzero__4scCs0yt|j�j�SWntk
r+dSXdS(s1return the minimum non-filtered changeset or NoneN(titerRtnextt
StopIterationR(R((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR8s
cCst|jj|��S(N(RRtnode(Rtrev((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR?scs�|sidd6d
d6fSg}xItd|�D]8}||krGPn|j||�|j||�q1W|j�|j�}d||j|�fg�g�x�|D]�}||jkr�q�n||ko�|knr�jdt||�|j|�f�nd|ko'|knr��jdt||�|j|�f�q�q�W�jd�d	��i��fd
�d6��fd�d6fS(s�computes label and revision id for navigation link

        :pos: is the revision relative to which we generate navigation.
        :pagelen: the size of each navigation page
        :limit: how far shall we link

        The return is:
            - a single element tuple
            - containing a dictionary with a `before` and `after` key
            - values are generator functions taking arbitrary number of kwargs
            - yield items are dictionaries with `label` and `node` keys
        tbeforetafteris(%i)s+%dis-%dttipcSsi|dd6|dd6S(NitlabeliR!((ti((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt<lambda>iscs�fd��D�S(Nc3s|]}�|�VqdS(N((t.0R'(tdata(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pys	<genexpr>js((tmap(R*t	navbefore(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR(jscs�fd��D�S(Nc3s|]}�|�VqdS(N((R)R'(R*(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pys	<genexpr>ks((R+(R*tnavafter(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR(ks(((R%R%(RtappendtsortRRRtabs(RtpostpagelentlimitttargetstftfirstR"((R*R-R,s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytgenBs.


-1
	(t__name__t
__module__RRRRR7(((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR*s
				t
filerevnavcBseZd�Zd�ZRS(cCs(|j�j|_|j|�|_dS(s�Navigation generation object

        :repo: repo object we generate nav for
        :path: path of the file we generate nav for
        N(t
unfilteredRt
_changelogtfileR(RRR
((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyRoscCs"t|jj|jj|���S(N(RR<R!Rtlinkrev(RR"((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyRzs(R8R9RR(((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR:ms	ccs�g|D]}|j�tkr|^q}t|�dkrW|dj�|krWdSx�|D]�}i|j�d6|j�d6}|j�|d<|j�|d<|j�|d<|j�|d<t	j
|d	�r�|j�|d
<n|Vq^WdS(NiiR!R"tusertdatetdescriptiontbranchR
R=(R!RtlenR"RR?R@RARBRtsafehasattrR
(tsiblingsthiderevtstd((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt	_siblings~s+(
 cCst|j�|�S(N(RItparents(tctxthide((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyRJ�scCst|j�|�S(N(RItchildren(RKRL((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyRM�scCs:|j�}|r6td|ddt|d��gSgS(NR=iR!i(trenamedtdictR(tfctxtr((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt
renamelink�s$cCs'g|j|�D]}i|d6^qS(Ntname(tnodetags(RR!R'((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytnodetagsdict�scCs'g|j|�D]}i|d6^qS(NRS(t
nodebookmarks(RR!R'((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytnodebookmarksdict�scCsog}|j�}y|j|�}Wntjk
rAd}nX||j�krk|ji|d6�n|S(NRS(RBt	branchtipRtRepoLookupErrorRR!R.(RRKtbranchesRBt
branchnode((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytnodebranchdict�s
cCs{g}|j�}y|j|�}Wntjk
rAd}nX|dkrw||j�krw|ji|d6�n|S(NtdefaultRS(RBRXRRYRR!R.(RRKRZRBR[((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytnodeinbranch�s
cCs9g}|j�}|dkr5|ji|d6�n|S(NR]RS(RBR.(RKRZRB((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytnodebranchnodefault�s
cks2x+|j|�D]}||d||�VqWdS(Nttag(RT(Rttmpltt1R!targstt((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytshowtag�scks2x+|j|�D]}||d||�VqWdS(Ntbookmark(RV(RRaRbR!RcRd((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytshowbookmark�scCs%|jd�}tj|jd|�S(NRt(tlstripRt	canonpathtroot(RR
((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt	cleanpath�scCsWy||}WnBtjk
rR|j}||j|j|j|���}nX|S(N(Rt	RepoErrortmanifestR>R"tlookup(RtchangeidRKtman((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytchangeidctx�s	)cCs�d}d|jkrU|jdd}|jd�}|dkrx||d}qxn#d|jkrx|jdd}nt||�S(NR%R!it:i����iRn(tformtfindRr(RtreqRptipos((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt	changectx�scCsYd|jkrU|jdd}|jd�}|dkrU|| }t||�SndS(NR!iRsi����(RtRuRrR(RRvRpRw((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt
basechangectx�s
cCs�d|jkr!ttd��nt||jdd�}d|jkr^|jdd}n2d|jkr�|jdd}nttd��y|||}Wn)tjk
r�|j|d|�}nX|S(NR=sfile not giveniR!tfilenodesnode or filenode not giventfileid(RtR	R
RlRRmtfilectx(RRvR
RpRP((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR|�sccsVx/|| D]#}|ddt|�d|�VqWt|�|krR|d�VndS(NtfiledifflinkR!R=tfileellipses(RRC(RatfilesR!tmaxR5((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt
listfilediffs�s!c#s�d�}|�}�fd�}	|rHtj|j|j�|�}
ntj|j|j��}
tj|jdt�}|dkr�|j
�}|r�|dj�p�t}
n|j�}
|j�}g}x�tj
||
||
d|�D]�}|jd�rT|rT|j�}�dd|j�d	|d
|	dj|�|��Vg}n|jd�r�|dkr�dj|jt�d
�}n|j|�q�W|j�}�dd|j�d	|d
|	dj|�|��VdS(Ncss&d}xtr!|V|d7}q	WdS(Ni(R(tstart((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytcountgens	c
3s�x�t|jt��D]�\}}d||df}|jd�rNd}n6|jd�rfd}n|jd�r~d}nd	}�|d
|dd|d
d|�VqWdS(Ns%d.%dit+tdifflineplust-t
difflineminust@t
difflineattdifflinetlinetlineidsl%st
linenumbers% 8s(t	enumeratet
splitlinesRt
startswith(tdifftblocknotlinenotltltype(Ra(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytprettyprintliness"				
t	untrusteditoptsR�t	diffblocktparityR�tlinesRhtrawi(RtexactRktgetcwdtalwaysRtdiffoptsRRRRJR!RR�R�RtjoinR�R.(RRaRKtbasectxRR�tstyleR�t
blockcountR�tmR�RJtnode1tnode2tblocktchunkR�((Ras=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytdiffs�s2		!%	c#s��fd�����fd�}tjd���}|dkre�dd||j���Vn4x1|jd|�D]}�dd||��VqxWdS(s>Generator function that provides side-by-side comparison data.cs~|rd|pd}||r)d|p,d7}�dd|d|dd|pQdd	|p^dd
d|pmdd|pzd�S(Nsl%sRhsr%stcomparisonlinettypeR�tleftlinenumbers% 6stleftlinetrightlinenumbert	rightline((R�t
leftlinenoR�trightlinenoR�R�(Ra(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytcompline6s	c
3sZxS|D]K\}}}}}||}||}t||�}xZt|�D]L}	�d|d||	dd�||	d||	dd�||	�VqLW||kr�x�t|||�D]4}	�d|d|	dd�|	dddd�Vq�Wq||krxLt|||�D]4}	�d|ddddd|	dd�|	�VqWqqWdS(NR�R�iR�R�R�(tmintxrangeR(
topcodesR�tllotlhitrlotrhitlen1tlen2tcountR'(R�t	leftlinest
rightlines(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytgetblockAs0




itcomparisonblockR�tnN(tdifflibtSequenceMatcherRtget_opcodestget_grouped_opcodes(RatcontextR�R�R�RGtoc((R�R�R�Ras=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytcompare3s ccsgtjtj|j|���}tj|�\}}}}}x!trb||||||fVqBWdS(s3Generator function that provides the diffstat data.N(RtdiffstatdataRt	iterlinesR�tdiffstatsumR(RKR�tstatstmaxnametmaxtotaltaddtotaltremovetotaltbinary((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytdiffstatgenbs!	cCs;|j�\}}}}}}td�t|�||fS(s#Return a short summary of the diff.s5 %d files changed, %d insertions(+), %d deletions(-)
(RRRC(tstatgenR�R�R�R�R�R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytdiffsummaryjs	c#s�|j�\}}�}}}|j�}	�fd�}
d}x�|D]�\}}
}}||	krjdpmd}|
|}|d7}||d|j�d|d|d	|d
|
|
�d|
|�d|j��VqFWd
S(s5Return a diffstat template for each file in the diff.cs"�dkrdSt|��dS(Niid(tfloat(R'(R�(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytpctwsitdiffstatlinktdiffstatnolinkiR!R=tfilenottotaltaddpctt	removepctR�N(RRR(RaRKR�R�R�R�R�R�R�RR�R�tfilenametaddstremovestisbinaryttemplateR�((R�s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytdiffstatqs

!tsessionvarscBs8eZdd�Zd�Zd�Zd�Zd�ZRS(t?cCs||_||_dS(N(R�tvars(RR�R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR�s	cCs|j|S(N(R�(Rtkey((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt__getitem__�scCs||j|<dS(N(R�(RR�tvalue((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt__setitem__�scCsttj|j�|j�S(N(R�tcopyR�R�(R((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt__copy__�sccsY|j}xIt|jj��D]2\}}i|d6t|�d6|d6Vd}qWdS(NRSR�t	separatort&(R�tsortedR�t	iteritemststr(RR�R�R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt__iter__�s	" (R8R9RR�R�R�R�(((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��s
			twsgiuicBseZd�ZRS(cCsdS(NiP((R((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt	termwidth�s(R8R9R�(((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��s(0RR�t	mercurialRRRRRRtmercurial.i18nRtmercurial.nodeRRtcommonR	R
R�RRRtobjectRR:RIRJRMRRRURWR\R^R_ReRgRlRrRxRyR|R�R�R�R�R�R�R�R�(((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt<module>	sD.	
C				
							
			4	/			

Anon7 - 2021