MOON
Server: Apache/2.2.34 (Unix) mod_ssl/2.2.34 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 FrontPage/5.0.2.2635
System: Linux server.asjudinet.com 2.6.32-042stab141.3 #1 SMP Fri Nov 15 22:45:34 MSK 2019 i686
User: asjudine (504)
PHP: 5.2.17
Disabled: NONE
Upload Files
File: //proc/3/root/usr/lib/python2.4/Demo/pdist/cvslib.pyo
mò
‚=5Dc@sØdZdkZdkZdkZdkZdkZeedƒp
de_ndfd„ƒYZdfd„ƒYZ	dd	Z
d
„Zd„ZhZ
d„Zd
„Zd„Zd„ZedjoeƒndS(s!Utilities for CVS administration.NttimezoneitFilecBs\tZdZed„Zd„Zd„Zd„Zed„Zd„Z	d„Z
d„ZRS(	sØRepresent a file's status.

    Instance variables:

    file -- the filename (no slashes), None if uninitialized
    lseen -- true if the data for the local file is up to date
    eseen -- true if the data from the CVS/Entries entry is up to date
             (this implies that the entry must be written back)
    rseen -- true if the data for the remote file is up to date
    proxy -- RCSProxy instance used to contact the server, or None

    Note that lseen and rseen don't necessary mean that a local
    or remote file *exists* -- they indicate that we've checked it.
    However, eseen means that this instance corresponds to an
    entry in the CVS/Entries file.

    If lseen is true:

    lsum -- checksum of the local file, None if no local file
    lctime -- ctime of the local file, None if no local file
    lmtime -- mtime of the local file, None if no local file

    If eseen is true:

    erev -- revision, None if this is a no revision (not '0')
    enew -- true if this is an uncommitted added file
    edeleted -- true if this is an uncommitted removed file
    ectime -- ctime of last local file corresponding to erev
    emtime -- mtime of last local file corresponding to erev
    extra -- 5th string from CVS/Entries file

    If rseen is true:

    rrev -- revision of head, None if non-existent
    rsum -- checksum of that revision, Non if non-existent

    If eseen and rseen are both true:

    esum -- checksum of revision erev, None if no revision

    Note
    cCsN|od|jo
td‚n||_d|_|_|_d|_dS(Nt/sno slash allowed in filei(tfilet
ValueErrortselftlseenteseentrseentNonetproxy(RR((t'/usr/lib/python2.4/Demo/pdist/cvslib.pyt__init__9s

	cCst|i|iƒS(N(tcmpRRtother(RR((Rt__cmp__@scCsŠy&ti|iƒd\|_|_Wn-tij
od|_|_|_n)Xt	i
t|iƒiƒƒi
ƒ|_d|_dS(Niþÿÿÿi(toststatRRtlmtimetlctimeterrorR	tlsumtmd5tnewtopentreadtdigestR(R((RtgetlocalCs&'cCs2ti|dƒ}|io!|d|ijo
td‚n|d|_|d|_d|_d|_	d|_|_|id djod|_|id|_n|idjod|_d|_	n1|d}t|d	 ƒ|_t|d
ƒ|_|d|_|io|iƒnd|_dS(NRisfile name mismatchiit-t0iiii(tstringtsplitfieldstlinetwordsRRRterevtedeletedtenewR	tectimetemtimetdatestunctimetextraRtgetesumR(RR R'R!((RtgetentryLs*


				



cCs¬|o
||_ny|ii|iƒ|_Wn%titfj
od|_nX|io|ii	|iƒ|_
n
d|_
|io|iƒnd|_
dS(Ni(R
RtheadRtrrevRRtIOErrorR	tsumtrsumRR*R(RR
((Rt	getremoteds

	
cCse|i|ijo|i|_n?|io+|i|if}|ii|ƒ|_n
d|_dS(N(
RR"R-R0tesumRtnameR
R/R	(RR3((RR*ss
cCs|ipdSn|ipd}|iod|}n|iod|i}n!t|i	ƒdt|i
ƒ}d|i|||ifS(s¼Return a line suitable for inclusion in CVS/Entries.

        The returned line is terminated by a newline.
        If no entry should be written for this file,
        return "".
        tRRsInitial t s/%s/%s/%s/%s/
N(RRR"trevR#R$RR'tgmctimeR%R&R)(RR6R'((Rtputentry|s


 cCsáddGHt|d„}|dƒ|io+|dtƒ|dtƒ|dtƒn|io<|dƒ|d	ƒ|d
ƒ|dtƒ|dtƒn|io6|d
ƒ|dtƒ|io|dtƒqÝndS(NRi2cCsFy|t||ƒƒ}Wntj
o
d}nXd|G|GHdS(Nt?s%-15s:(treprtgetattrRtkeytvaluetAttributeError(R<R:RR=((Rtr–s
RRRRR"R$R#R%R&R-R0R2(R:RR?RthexifyR7RR(RR?((Rtreport”s$	












(t__name__t
__module__t__doc__R	RRRR+R1R*R8RA(((RRs+							tCVScBs¶tZdZeZddddddddgZd	„Zd
„Zd„Zd„Z	d
„Z
ed„Zd„Z
d„Zd„Zd„Zd„Zdd„Zd„Zd„ZRS(s®Represent the contents of a CVS admin file (and more).

    Class variables:

    FileClass -- the class to be instantiated for entries
                 (this should be derived from class File above)
    IgnoreList -- shell patterns for local files to be ignored

    Instance variables:

    entries -- a dictionary containing File instances keyed by
               their file name
    proxy -- an RCSProxy instance, or None
    s.*s@*s,*s*~s*.os*.as*.sos*.pyccCsh|_d|_dS(N(RtentriesR	R
(R((RRÃs	cCsH||ijodSn||_x |iiƒD]}d|_q1WdS(Ni(R
RRFtvaluesteR(RR
RH((RtsetproxyÇs	cCsoh|_|idƒ}xF|iƒ}|pPn|iƒ}|i|ƒ||i|i	<qW|i
ƒdS(s Read the contents of CVS/EntriestEntriesiN(RRFtcvsopentftreadlineR t	FileClassRHR+Rtclose(RRHR RL((Rt
getentriesÎs	
cCsJ|iddƒ}x'|iƒD]}|i|iƒƒqW|iƒdS(sWrite CVS/Entries backRJtwN(RRKRLRGRHtwriteR8RO(RRHRL((Rt
putentriesÚs
cCsÑ|iiƒ}titiƒ}xC|D];}||joq(n|i	|ƒp|i
|ƒq(q(W|iƒxY|D]Q}y|i|}Wn-tj
o!|i|ƒ}|i|<nX|iƒqxWdS(N(RRFtkeystlistRtlistdirtcurdirtaddlistR3tignoredtappendtsortRRHtKeyErrorRNR(RRHR3RURRX((Rt
getlocalfilesás 

cCs |o
||_n|ip
td‚n|iiƒ}x_|D]W}y|i|}Wn-tj
o!|i	|ƒ}|i|<nX|i
|iƒqAWdS(Nsno RCS proxy(R
RtRuntimeErrort	listfilesRXRRFRHR\RNR1(RR
RHRRX((Rtgetremotefilesñs


cCs.x|iƒD]}|iƒq
WddGHdS(NRi2(RRGRHRA(RRH((RRAþs
cCs|iiƒ}|iƒ|S(N(RRFRTR[(RRT((RRTs
cCs|d„}t||iƒƒS(NcCs|i|S(N(RRFR<(R<R((RR=	s(RR=tmapRT(RR=((RRGscCs|d„}t||iƒƒS(NcCs||i|fS(N(R<RRF(R<R((Rtitems(RRbRaRT(RRb((Rtitems
scCs%tiid|ƒ}tii|ƒS(NRE(RtpathtjoinRtexists(RR((Rt	cvsexistssR?cCs@tiid|ƒ}d|jo|i|ƒnt||ƒS(NRER?(RRdReRtmodeRtbackupR(RRRh((RRKs
cCs_tii|ƒoH|d}yti|ƒWntij
onXti||ƒndS(Nt~(RRdtisfileRtbfiletunlinkRtrename(RRRl((RRis
cCsNtii|ƒotSnx,|iD]!}ti||ƒotSq%q%Wt	S(N(
RRdtisdirRtTrueRt
IgnoreListtpattfnmatchtFalse(RRRr((RRY#s
(RBRCRDRRNRqRRIRPRSR]R	R`RARTRGRcRgRKRiRY(((RRE®s"					
						s%02xicCs,|djodSntttt|ƒƒS(sDReturn a hex representation of a 16-byte string (e.g. an MD5 digest)R	N(R/R	t
hexify_formatttupleRatord(R/((RR@-s
cCsi|djodSnd}xGtdt|ƒdƒD]-}|tti|||d!dƒƒ}q4W|S(s*Return the original from a hexified stringR	R4iiiN(	thexsumR	R/trangetlentitchrRtatoi(RxR{R/((Rtunhexify3s
+cCs|djodSntpYdddddddd	d
ddd
g}d}x&|D]}|d}|t|<qSWnti|ƒ}ti	|dƒ}t|d}ti	|dƒ}
t
ti	ti|ddƒƒ\}}}	|	ti}	ti|||
|||	dddf	ƒS(NR	tJantFebtMartAprtMaytJuntJultAugtSeptOcttNovtDeciiiiit:(tdateR	tunctime_monthmaptmonthsR{tmRtsplitR!R}tyeartmonthtdayRaRthhtmmtssttimeRtmktime(RŒR{RŽRR’R•R”R!R‘R–R“((RR(>s 
*
+
cCs+|djodSntiti|ƒƒS(NR	(ttR	R—tasctimetgmtime(R™((RR7Os
cCsšttiƒƒ}ti|ƒ}ti|ƒ}dG|G|GHdGtiGHdGti|ƒGHt	|ƒ}dG|GHti|ƒ}dG|GHti|ƒGHdS(NtGMTRtlocals	unctime()s->(tintR—tnowR›R™RštatRtctimeR(tutgu(R£R¢R RŸR™((Rttest_unctimeSs
		cCsMtƒ}|iƒ|iƒdk}|iƒ}|i|ƒ|iƒdS(N(	REtxRPR]t	rcsclientt
openrcsclientR
R`RA(R¦R¥R
((Rttest`s	

	
t__main__(RDRRR—RRsthasattrRRRERuR@R~RR(R7R¤R¨RB(R@RuR(RR~RERR7R¨R¤RR—RsRR((RR9s&					
¢~