m Hc@sjdkTdkTdkZdkZdkZdkZdkZdkZdkZdk Z dk Z dk Z dk Z dk Z dkZdkZdkZdkZdkZdkZdkZdkZgZdZdZdZhZdZdZdZdZd Zd Z hZ!hZ"d e i fd YZ#hZ$d e%e i fdYZ&dS((t*NcCs&||ijptii|i|S(N(tctcachet_nametRegistrytregistrytequivtUCL(RR((th/home/faculty/youssef/public_html/pacman/sample_cache/tarballs/pre/tmp/pacman-3.29/src/UniversalCache.pytleqCache scCstii||S(N(RRRtc1tc2(R R ((RtequivalentCachessc Csd}t|do|ii|o|i|\}}}t|do |}n(t|do |i }n t d|i } | ioO|i} |i}|i} tii|| o||jo |o| }qqn|S(Nit_mirrorst_mirrort_caches?Error in Pacman. Please contact http://physics.bu.edu/pacman/ (tmeqthasattrtspecR thas_keyRt specMirrortspecTimet specSnapshotRtmRtaborttinittrtokRtmirrort _updateTimettimet _snapshottsnapshotRRR( RRRRRRRRRRR R((RtmeqSpecs         <cCstddddf\}}}}t|i}|i }|djot i |i pZ|i}|io!|i|i|i}}}n|||||ft |i =s  c Cs|idjo=t|i|\}} ti|}ti| |_n|idjo\t t }}xv|D]:}t||\}}|io|i|qwPqwWn1|idjoYt t}}x |D]:}t||\}}|io|i|qPqWn|idjoDtt|idtiti } tiittd|| }tid|d|}|ioti}ti!|ti|}t#i$d d |id d |ijot d |id}n |i%}ti!|nti|}tiidtd|| tii&|i|_nt|idjoStt|i'idtiti } tiittd|| }tid|d|}|ioti}ti!|ti|i'}t#i$d d |i'id d |ijot d |id}n |i%}ti!|nti|}tiidtd|| tii&|i'i|i'_nt |}}||fS(NtpackageR8R9tdownloadt-t downloadss rm -r -f s; mkdir R)sAdding [s] to snapshot...t$s2Unresolved environment variable. Can't download [s].s $PAC_ANCHORt snapshotstdownloadUntarzip((R<R%R)t_environtidentityRtenvirontcopytdeepcopyR;R#R8teetee2RR@R9tabsthasht_urlRtctimetdownloadIdentitytostpathtjoint pac_anchort pacmanDirtdowndirt ExecutiontexecutetgetcwdtcwdtchdirtdownR5R6tsatisfytbasenamet _download( R<RIRMR_RYR;RNR]RRJRS((RR)Gsh    -    70    =cCsJ|i}|ip#|GHtdo t}q<n|idS(Ns&Download has failed. Continue? (y/n):(R<R`RRtyesnoR#trequire(R<R((Rt_exsatxs    cCs|idjot|in|idjp|idjox|D]}t|qHWn|idjotiitii|i ot d odtii|i dGHt dp t d o*d tii|i d GHt |q*d tii|i d GHqt |n|id jotiitii|i i ot d odtii|i i dGHt dp t d o0d tii|i i d GHt |i q d tii|i i d GHqt |i ndS(NRAR8R9RBsextract-downloads-overwrites WARNING: [s] already exists.sextract-overwritesTDownload and overwrite anyway? (use -allow extract-overwrite to avoid this question)s Overwriting [s]...s Skipping [RG(R<R%textractDownPackageRHRMRTRUtexistsRaRQtallowRcReRb(R<RM((RRfs, 0 3#R$cBshtZdZddZdZdZdZdZdd Zd Z d Z d Z RS( NcCs||_tii|}do t|dot|}nti |ot||_ nM|djot i |_ n|djodk }|i|_ n|djotddd|_ nt|doti||_ nwt|doti||_ nQt|d o"ti||_ d|i _nt|d o"ti||_ d|i _nt|d oti||_ nt|d ot||_ nt|}d}y}ti|}xg|D]_}t|d oI|tjo1ti | o dt|= 3.18.sUsing standard db.RsCache [s] translated to [s] type [s]...Rt.(,RtselfRRttranstcntcontainstfullpatht_cached_cachesRRtCachet NullCachetHomeRjt CacheListttailt MirrorCacheRt SnapshotCachetxpathtxinstRTtlistdirtxltlRWt_source_error_messagesRUtisdirRVRXR5R6tInstallationCachetOldInstallationCachetwhichdbRt SourceCachetdebugR%RRtshort(RnRRpR~RR{R|Rv((Rt__init__sz       (+.  * icCs7t|do|i|i_n|ii|dS(NR(RRnRRtdisplaytindent(RnR((RRscCs|ii||S(N(RnRtgetAllRtused(RnRR((RRscCs|ii|S(N(RnRtputRA(RnRA((RRscCs|ii|S(N(RnRtremoveR(RnR((RRscCs|ii|S(N(RnRtcontentsR(RnR((RRsR"c Cstt|idtiti }|djo|d}n|}t t ddjot dd}n.t t ddjot dd}nd}t i i|djp|}t i i|}nt i ittd|} |ig\} }| iotid d |id | iotid | } n| iotid | } n| io}g}x|D]} | ip | iot d| i!d} Png| _"g| _#d| _$d| _d| _t%| |\} }| io|i'|qPqW| iot(t i i| dd}|i*|d|i*|id|i*titid|i*t+d|i*td|i*t,i, d|i*t-d|i.t(t i i| dd}t/i0|||i.n| io9tidt i ittdd|d|} n| io9tidt i ittdd|d|} n| io1tidt i ittdd|} q qn| S(NRCR"s.snaptoitouts../../RDR)sCreating snapshot of [s]...s rm -r -f smkdir s"Can't snapshot installed package [s].RItws tpackagesscd s ; tar cf t s; mv s ; rm -r -f (1RORPRnRRRRRItoutfile2toutfiletlent switchItemstoutdirRTRUtdirnameRaRVRWRXtsnapdirRRtpsRR5R6RZR[tqstptlastsattlastfailR#tstrt_parentst _modifierst _neuteredR)tqR@topenR?twritet getusernametPlatformtversiontclosetcPickletdump( RnRRRRIRRR?RRRR((RR sp-               9 9 9cCs|ig\}}|id}x|D]}|d}|ii}|djod| d}nt i i |ot d|dnt|d}x|iD]}|i|qW|iq,W|S( NiiR"s no-file-name-s.pacmansFile [s] already exists.R(RnRRRRdtcountRt_spectfiletfilenameRTRURgRRR?t _sourceCodetlineRR(RnRRR?RRRR((RtextractSourcess"     cCs>|ig\}}|ix|D]}t|q&W|S(N(RnRRRRdRRf(RnRRR((RtextractDownloads!s  c Cs|ig\}}|i|iog}x*|D]"}|it |i dq9Wt |}d} d}|i| } t| |xT| D]H}t|dd|didGHx|D]}|idqWqWn|S( NcCsdS(Ni((R<((Rt,scCs|i|ijS(N(tattitletb(RR((RR/scCs|di|dijS(Ni(txRty(RR((Rtleq0scCs(ti|iti|ijS(N(tstringtlowerRRR(RR((RR4ss- is - i(RnRRRRdRtatomsRR=R>RHtClusterstclRRtclustertclassestsortRRRR( RnRRRRRRRRRR((Rtdomain&s(       ( t__name__t __module__RRRRRRR RRR(((RR$s <      2 RwcBstZdddZdZdZdZdZddZd Zd Z d Z d Z d Z dZ ddZdZRS(NiicCsv||_d|_ti||_g|_d|_||_ ||_ g|_ tii|i|_d|_dS(Ntlisti(tUFLRnRR%tUniversalAccesst UniversalFilet_UFLt_cachest_oktwrapt_wrapt alwaysRefresht_refresht_linesRTRURt_URLt_init(RnRRR((RR<s       cCs t|iS(N(RRnR(Rn((Rt__len__HscCs |i|S(N(RnRti(RnR((Rt __getitem__IscCs|ii|dS(N(RnRR@R(RnR((RR@JscCs|ii|S(N(RnRtpopR(RnR((RRKscCst|do|d|iGHn|dtii|iGHti i |i}|i o|i }n|i ot|id}n|i p|dd| GHn#x|D]}|i|dqWdS(Ns._nameRcCstii|idS(Ni(tTrustttrusttaddRR(R((RRSsi(RRnRRRRRRRRRRRRt allReasonRRR(RnRRR((RRMs   cCsti|dd}ti|d}doMtd|o=t|djo*ti|d}ti|d}n|}ti|}ti|}||fS(Nt#is=>ii( RtsplitRtline2RRqRtstriptname(RnRRRR((RtlistnameZs*cCst}|iptd| d|ii }|io |i p |io^|ii \}|_ g|_ |iox|i D]}t |djo|ddjo|d }nt |djp$ti|djp|ddjp|i|\}}|djp[ti|otii|i|}n|}t|}||_|i i|qqqWd |_d |_qtd | d}qn|S( NsCan't access [s].iis R"Rstrusted.cachesisCan't find cache [(R#RRnRRtaccessRRRtgetLinesRRRRRRRRtRelPathtrelPathRTRURVRRR$RRR@(RnRRRRR((RRfs0  ""   $:     cCsd|_|iS(Ni(RnRR(Rn((Rtrefresh~s cCs|i||dS(Ntquit(Rnt getAllBaseRR(RnRR((RRscCs|i||dS(Ntcont(RnRRR(RnRR((RtgetAllLscCstii|ig}}|io|i}n|iot |i d}n|ioUxR|D]F}|i |\}}|i||io|i|qsqsWn|io|i|}n|io|i|\}}n||fS(NcCstii|idS(Ni(RRRRR(R((RRs(RRRRnRRRRRRRRRRR1tps2R@R=t prependToptprepend(RnRRR1RRR((RRs"       RcCstii|ig} }| io|i} n| iot |i d} n| iot |d} n| io|i ||\} }n| io.t|djotd|id} n| iot} d|id|id| _x|D]}ti||} }t| i djo |i}n| i id}t||} | o<|id jo,t|id jot||| } n| o|i | |\}} n|i ||\}} xz| D]r} t| i$i djp!t%i&i'| i$i d| o%| o| i$i i(d|qqn|i)| q W| i)||iot*|d o |} Pq%q%Wn| io|i,|}n| io|i-|\} }n| |fS( NcCstii|dS(Ni(RRRR(R((RRscCstii|idS(Ni(RRRRR(R((RRsisCache [s ] is empty.s Can't find [s] in [s]:RR(.RRRRnRRRRRRRtcachestcheckRRR#t AllReasonRtheadlineRRKRLtspec2tused2Rtc0RR RR%R$R!RtrrRRRRRRtinsertR@RqtmodeRR(RnRRRRRRRRRRRRR((RRsN      + .:   cst|dS(Ncs |iS(N(RRRA(R(RA(RRs(t existsReasonRn(RnRA((RARRs(RRRRRR@RRRRRRRRRR(((RRw;s         ('tBaset EnvironmentRtPackageRtCDt DirectoryRZtDownloadRRtRRRzRRyRRRRRTRtexcludedR R R!R'R(R7R>R)ReRfRsRR$t _prependDBtListRw($RR ReRtRRRfRwRzR7RRRR)R>RZRR'RRR RRR(RRR$RsRyRRRRRRTR!((Rt?s(H?-    1