-=[ Mr. Bumblebee ]=-
_Indonesia_

Path : /usr/lib/python2.7/dist-packages/mercurial/hgweb/
File Upload :
Current File : //usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyc


\,Tc@sddlZddlZddlmZmZmZmZmZmZm	Z	ddl
mZddlm
Z
mZddlmZddlmZddlZdZddZd	efd
YZdefdYZgdd
ZddZddZdZdZdZdZdZ dZ!edZ"edZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+d Z,d!Z-d"Z.d#efd$YZ/d%ejfd&YZ0dS('iN(tmatchtpatchterrortuitutiltpathutiltcontext(t_(thextnullid(t
ErrorResponse(tHTTP_NOT_FOUNDcCsd|ddkrd|}n|ddkr:|d }ntjj|}|dkr\dS|dS(Nit/i(tostpathtdirname(tptup((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyRs

ccs|ru|V|dkr1|dkr1d}|Vn|dksCt|dksUtx||krq|d9}qXWnx&trd|Vd|V|d9}qxWdS(Nii(i2ii
ii(tAssertionErrortTrue(tstept	firststep((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt_navseqs			trevnavcBs5eZdZdZdZdZdZRS(cCs|j|_dS(sUNavigation generation object

        :repo: repo object we generate nav for
        N(t	changelogt_revlog(tselftrepo((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt__init__,scCs|jdk	S(s,return True if any revision to navigate overN(t_firsttNone(R((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt__nonzero__4scCs0yt|jjSWntk
r+dSXdS(s1return the minimum non-filtered changeset or NoneN(titerRtnextt
StopIterationR(R((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyR8s
cCst|jj|S(N(RRtnode(Rtrev((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyR?scs|sidd6d
d6fSg}xItd|D]8}||krGPn|j|||j||q1W|j|j}d||j|fggx|D]}||jkrqn||ko|knrjdt|||j|fnd|ko'|knrjdt|||j|fqqWjdd	ifd
d6fdd6fS(scomputes 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/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt<lambda>iscsfdDS(Nc3s|]}|VqdS(N((t.0R)(tdata(s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pys	<genexpr>js((tmap(R,t	navbefore(s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyR*jscsfdDS(Nc3s|]}|VqdS(N((R+R)(R,(s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pys	<genexpr>ks((R-(R,tnavafter(s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyR*ks(((R'R'(RtappendtsortRRRtabs(RtpostpagelentlimitttargetstftfirstR$((R,R/R.s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytgenBs.


-1
	(t__name__t
__module__RRRRR9(((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyR*s
				t
filerevnavcBseZdZdZRS(cCs(|jj|_|j||_dS(sNavigation 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/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyRoscCs"t|jj|jj|S(N(RR>R#Rtlinkrev(RR$((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyRzs(R:R;RR(((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyR<ms	ccsg|D]}|jtkr|^q}t|dkrW|dj|krWdSx|D]}i|jd6|jd6}|j|d<|j|d<|j|d<|j|d<t	j
|d	r|j|d
<n|Vq^WdS(NiiR#R$tusertdatetdescriptiontbranchRR?(R#R	tlenR$RRARBRCRDRtsafehasattrR(tsiblingsthiderevtstd((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt	_siblings~s+(
 cCs`t|tjrM|jj|jkrMt|j|jg|St|j|S(N(	t
isinstanceRtbasefilectxt	changectxR$R@RKt_repotparents(tctxthide((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyRPscCst|j|S(N(RKtchildren(RQRR((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyRSscCs9|j}|r5i|dd6t|dd6gSgS(NiR?iR#(trenamedR(tfctxtr((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt
renamelinks#cCs'g|j|D]}i|d6^qS(Ntname(tnodetags(RR#R)((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytnodetagsdictscCs'g|j|D]}i|d6^qS(NRX(t
nodebookmarks(RR#R)((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytnodebookmarksdictscCsog}|j}y|j|}Wntjk
rAd}nX||jkrk|ji|d6n|S(NRX(RDt	branchtipRtRepoLookupErrorRR#R0(RRQtbranchesRDt
branchnode((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytnodebranchdicts
cCs{g}|j}y|j|}Wntjk
rAd}nX|dkrw||jkrw|ji|d6n|S(NtdefaultRX(RDR]RR^RR#R0(RRQR_RDR`((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytnodeinbranchs
cCs9g}|j}|dkr5|ji|d6n|S(NRbRX(RDR0(RQR_RD((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytnodebranchnodefaults
cks2x+|j|D]}||d||VqWdS(Nttag(RY(Rttmpltt1R#targstt((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytshowtagscks2x+|j|D]}||d||VqWdS(Ntbookmark(R[(RRfRgR#RhRi((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytshowbookmarkscCs%|jd}tj|jd|S(NRt(tlstripRt	canonpathtroot(RR((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt	cleanpathscCsWy||}WnBtjk
rR|j}||j|j|j|}nX|S(N(Rt	RepoErrortmanifestR@R$tlookup(RtchangeidRQtman((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytchangeidctxs	)cCsd}d|jkrU|jdd}|jd}|dkrx||d}qxn#d|jkrx|jdd}nt||S(NR'R#it:iiRs(tformtfindRw(RtreqRutipos((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyRNscCsYd|jkrU|jdd}|jd}|dkrU|| }t||SndS(NR#iRxi(RyRzRwR(RR{RuR|((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt
basechangectxs
cCsd|jkr!ttdnt||jdd}d|jkr^|jdd}n2d|jkr|jdd}nttdy|||}Wn)tjk
r|j|d|}nX|S(NR?sfile not giveniR#tfilenodesnode or filenode not giventfileid(RyR
RRqRRrtfilectx(RR{RRuRU((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyRsccsVx/|| D]#}|ddt|d|VqWt||krR|dVndS(NtfiledifflinkR#R?tfileellipses(RRE(RftfilesR#tmaxR7((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt
listfilediffss!c#sd}|}fd}	|rHtj|j|j|}
ntj|j|j}
tj|jdt}|dkr|j
}|r|djpt}
n|j}
|j}g}xtj
||
||
d|D]}|jdrT|rT|j}dd|jd	|d
|	dj||Vg}n|jdr|dkrdj|jtd
}n|j|qW|j}dd|jd	|d
|	dj||VdS(Ncss&d}xtr!|V|d7}q	WdS(Ni(R(tstart((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytcountgens	c
3sxt|jtD]\}}d||df}|jdrNd}n6|jdrfd}n|jdr~d}nd	}|d
|dd|d
d|VqWdS(Ns%d.%dit+tdifflineplust-t
difflineminust@t
difflineattdifflinetlinetlineidsl%st
linenumbers% 8s(t	enumeratet
splitlinesRt
startswith(tdifftblocknotlinenotltltype(Rf(s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytprettyprintliness"				
t	untrusteditoptsRt	diffblocktparityRtlinesRmtrawi(RtexactRptgetcwdtalwaysRtdiffoptsRRRRPR#R	RRR!tjoinRR0(RRfRQtbasectxRRtstyleRt
blockcountRtmRRPtnode1tnode2tblocktchunkR((Rfs;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytdiffss2		!%	c#sfdfd}tjd}|dkredd||jVn4x1|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|pzdS(Nsl%sRmsr%stcomparisonlinettypeRtleftlinenumbers% 6stleftlinetrightlinenumbert	rightline((Rt
leftlinenoRtrightlinenoRR(Rf(s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytcompline9s	c
3sZxS|D]K\}}}}}||}||}t||}xZt|D]L}	d|d||	dd||	d||	dd||	VqLW||krxt|||D]4}	d|d|	dd|	ddddVqWq||krxLt|||D]4}	d|ddddd|	dd|	VqWqqWdS(NRRiRRR(tmintxrangeR(
topcodesRtllotlhitrlotrhitlen1tlen2tcountR)(Rt	leftlinest
rightlines(s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytgetblockDs0




itcomparisonblockRtnN(tdifflibtSequenceMatcherRtget_opcodestget_grouped_opcodes(RfRRRRRItoc((RRRRfs;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytcompare6s ccsgtjtj|j|}tj|\}}}}}x!trb||||||fVqBWdS(s3Generator function that provides the diffstat data.N(RtdiffstatdataRt	iterlinesRtdiffstatsumR(RQRtstatstmaxnametmaxtotaltaddtotaltremovetotaltbinary((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytdiffstatgenes!	cCs;|j\}}}}}}tdt|||fS(s#Return a short summary of the diff.s5 %d files changed, %d insertions(+), %d deletions(-)
(R!RRE(tstatgenRRRRRR((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytdiffsummaryms	c#s|j\}}}}}|j}	fd}
d}x|D]\}}
}}||	krjdpmd}|
|}|d7}||d|jd|d|d	|d
|
|
d|
|d|jVqFWd
S(s5Return a diffstat template for each file in the diff.cs"dkrdSt|dS(Niid(tfloat(R)(R(s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytpctzsitdiffstatlinktdiffstatnolinkiR#R?tfilenottotaltaddpctt	removepctRN(R!RR(RfRQRRRRRRRRRRtfilenametaddstremovestisbinaryttemplateR((Rs;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pytdiffstatts

!tsessionvarscBs8eZddZdZdZdZdZRS(t?cCs||_||_dS(N(Rtvars(RRR((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyRs	cCs|j|S(N(R(Rtkey((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt__getitem__scCs||j|<dS(N(R(RRtvalue((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt__setitem__scCsttj|j|jS(N(RtcopyRR(R((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt__copy__sccsY|j}xIt|jjD]2\}}i|d6t|d6|d6Vd}qWdS(NRXRt	separatort&(RtsortedRt	iteritemststr(RRRR((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt__iter__s	" (R:R;RRRRR(((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyRs
			twsgiuicBseZdZRS(cCsdS(NiP((R((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt	termwidths(R:R;R(((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyRs(1R
Rt	mercurialRRRRRRRtmercurial.i18nRtmercurial.nodeRR	tcommonR
RRRRRtobjectRR<RKRPRSRWRZR\RaRcRdRjRlRqRwRNR}RRRRRRRRR(((s;/usr/lib/python2.7/dist-packages/mercurial/hgweb/webutil.pyt<module>	sD4	
C				
							
			4	/			

Copyright © 2017 || Recoded By Mr.Bumblebee