ok

Mini Shell

Direktori : /proc/thread-self/root/proc/self/root/lib/python2.7/site-packages/yum/
Upload File :
Current File : //proc/thread-self/root/proc/self/root/lib/python2.7/site-packages/yum/repos.pyc

�
8M�bc@s�ddlZddlZddlZddlZddlZddlZddlmZddlZ	ddl
mZ
dfd��YZdfd��YZ
dfd	��YZdS(
i����N(tMetaSack(tproxyt_wrap_ayum_getKeyForRepocBs&eZdZed�Zdd�ZRS(sc This is a wrapper for calling YumBase.getKeyForRepo() because
        otherwise we take a real reference through the bound method and
        that is d00m (this applies to YumBase and RepoStorage, hence why
        we have a separate class).
        A "better" fix might be to explicitly pass the YumBase instance to
        the callback ... API change! cCst|�|_||_dS(N(tweakreftayumtca(tselfRR((s-/usr/lib/python2.7/site-packages/yum/repos.pyt__init__$scCs/|jr|jj||�S|jj||�S(N(RRtgetCAKeyForRepot
getKeyForRepo(Rtrepotcallback((s-/usr/lib/python2.7/site-packages/yum/repos.pyt__call__'s	N(t__name__t
__module__t__doc__tFalseRtNoneR(((s-/usr/lib/python2.7/site-packages/yum/repos.pyRstRepoStoragecBs�eZdZd�Zd�Zdd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
eed�Zd�Zd
�Zd�Zd�Zd�Zd�Zdd�Zd�Zd�Zd�Zd�Zddddd�ZRS(sXThis class contains multiple repositories and core configuration data
       about them.cCs�i|_d|_d|_t�|_tjd�|_t	|_
t|�|_t
|�|_t
|dt�|_d|_g|_i|_t	|_dS(Nisyum.RepoStorageR(treposRRtcacheRtpkgSacktloggingt	getLoggertloggerRt_setupRRRtgpg_import_functTruetgpgca_import_functconfirm_funct_cache_enabled_repostquick_enable_disablet_list_enabled_hasrun(RR((s-/usr/lib/python2.7/site-packages/yum/repos.pyR0s							c	Cs�ttjd�sdSg}x�|j�D]�}|jr>q)ny|joV|j|�}Wn;tjk
r�}|j	s~�n|j
|j�t}nX|r)|j
�}|j|�}|j||tgf�q)q)Wx�ttfD]�}xk|D]c\}}}|d�}	xE|D]=\}
}|
jdk|kr|j|dtd|	�qqWq�Wtjj�q�Wx;|D]3\}}}|dr�|j�qr|j|�qrWdS(sX Download metadata for all enabled repositories,
            based on mdpolicy.
        t
parallel_waitNcSst|d<dS(Ni(R(tobjterror((s-/usr/lib/python2.7/site-packages/yum/repos.pytfailfuncfstasyncR$i(thasattrt
urlgrabbertgrabbertlistEnabledRt_asynct_commonLoadRepoXMLtErrorst	RepoErrortskip_if_unavailabletdisableRepotidRt_mdpolicy2mdtypest_commonRetrieveDataMD_listtappendRtsizeRt_retrieveMDR!t_revertOldRepoXMLt_commonRetrieveDataMD_done(RRR
tdltetmdtypestdownloadingtno_sizeR#R$tndatatnmdtype((s-/usr/lib/python2.7/site-packages/yum/repos.pyt
retrieveAllMDKs8		
 $

c	
Cs�|dkr|j�n|jjjd�|dkrG|j�}n|j|�}t|�dkr{|jjd�nt	t
jd�ri}x{|j�D]j}|jr�t
jj|j�}|j||�}|j|jkr
d}tj|||f�q
q�q�Wnx�|D]�}|j|jjj|jjd|jd|jd|j�|jst|j|j�qt|jjd	d�}|r||_qqWt|_ |j!�|jjjd
�dS(Ntprereposetupis#No Repositories Available to Set Uptpycurls/sslclientcert basename shared between %s and %sRRRtdownloaddirt
postreposetup("RR)Rtpluginstrunt	findRepostlenRtdebugR&R'R(t
sslclientcerttostpathtbasenamet
setdefaultR,tConfigErrortsetuptconfRtmediagrabberRRRtenabledR/R0tgetattrtpkgdirRRR?(	RtthisrepoRtcert_basenamesR
tbntothertmsgRT((s-/usr/lib/python2.7/site-packages/yum/repos.pytdoSetupts:
	#

		
cCst|jj��S(N(tstrRtkeys(R((s-/usr/lib/python2.7/site-packages/yum/repos.pyt__str__�scCsWy|j�WnBtjk
rR}|jjdt|�t|�|jf�nXdS(NsException %s %s in %s ignored(tcloseR,R-RRHtreprR[t__del__(RR9((s-/usr/lib/python2.7/site-packages/yum/repos.pyR`�scCs(x!|jj�D]}|j�qWdS(N(RtvaluesR^(RR
((s-/usr/lib/python2.7/site-packages/yum/repos.pyR^�scCs�|j|jkr(tjd|j�n||j|j<t|d�ri|jj|j�|j|_n	d|_t|j	d�s�t
|_n|j	j|_dS(Ns;Repository %s is listed more than once in the configurationRt_override_sigchecks(R0RR,tDuplicateRepoErrorR&RtupdateRRRRRb(Rtrepoobj((s-/usr/lib/python2.7/site-packages/yum/repos.pytadd�s	cCs7||jkr3|j|}|j�|j|=ndS(N(RR^(RtrepoidRU((s-/usr/lib/python2.7/site-packages/yum/repos.pytdelete�s

cCs|jj�}|j�|S(N(RRatsort(Rtrepolist((s-/usr/lib/python2.7/site-packages/yum/repos.pyRi�s
cCs9y|j|SWn#tk
r4}tjd|�nXdS(Ns:Error getting repository data for %s, repository not found(RtKeyErrorR,R-(RRgR9((s-/usr/lib/python2.7/site-packages/yum/repos.pytgetRepo�s
c	Cs�||jkr|j|gSg}x�|jd�D]�}|j�}tj|j�|�}xs|jj�D]b\}}||jks�t�||�r�|j|�qm|rm||j	�rm|j|�qmqmWq3W|S(s� Find all repositories matching fnmatch `pattern` on the repo.id,
            can also do case insensitive searches and/or search on the name.t,(
Rtsplittstriptmisctcompile_patterntitemsR0tAssertionErrorR3tname(	Rtpatternt
name_matchtignore_casetresulttitemtmatchRtR
((s-/usr/lib/python2.7/site-packages/yum/repos.pyRF�scCs�g}tj|�s*|jd�dkrax]|j|�D] }|j|j�|j�q:Wn)|j|�}|j|j�|j�|S(s�disable a repository from use
        
        fnmatch wildcards may be used to disable a group of repositories.
        returns repoid of disabled repos as list
        Rmi����(Rptre_globtfindRFR3R0tdisableRl(RRgRR
RU((s-/usr/lib/python2.7/site-packages/yum/repos.pyR/�s$
cCs�g}tj|�s*|jd�dkrax]|j|�D] }|j|j�|j�q:Wn)|j|�}|j|j�|j�|S(s�enable a repository for use
        
        fnmatch wildcards may be used to enable a group of repositories.
        returns repoid of enables repos as list
        Rmi����(RpR{R|RFR3R0tenableRl(RRgRR
RU((s-/usr/lib/python2.7/site-packages/yum/repos.pyt
enableRepo�s$
cCs�|js(|jjjd�t|_n|jdk	rH|jrH|jSg}x3|jj	�D]"}|j
�r^|j|�q^q^W|j�|jdk	r�||_|jj
�n|S(s#return list of enabled repo objectstprelistenabledreposN(R RRDRERRRRRRat	isEnabledR3Ritclear(Rt
returnlistR
((s-/usr/lib/python2.7/site-packages/yum/repos.pyR)s	

	cCs:g}x-|j�D]}|jr|j|�qqW|S(s6return a list of repo objects that have groups enabled(R)tenablegroupsR3(RR�R
((s-/usr/lib/python2.7/site-packages/yum/repos.pytlistGroupsEnableds
	cCs0||_x |jj�D]}||_qWdS(ssets cache value in all reposN(RRRa(RtcachevalR
((s-/usr/lib/python2.7/site-packages/yum/repos.pytsetCache(s	cCsN||_x>|jj�D]-}||jkr|j|_||_qqWdS(s$sets the cachedir value in all reposN(t	_cachedirRRatbasecachedirtold_base_cache_dir(RtcachedirR
((s-/usr/lib/python2.7/site-packages/yum/repos.pytsetCacheDir.s
	cCs.x'|jj�D]}|j||�qWdS(s6sets the progress bar for downloading files from reposN(RRatsetCallback(RR"t	multi_objR
((s-/usr/lib/python2.7/site-packages/yum/repos.pytsetProgressBar8scCs+x$|jj�D]}|j|�qWdS(s'sets the failure callback for all reposN(RRat
setFailureObj(RR"R
((s-/usr/lib/python2.7/site-packages/yum/repos.pytsetFailureCallback>scCs+x$|jj�D]}|j|�qWdS(s)sets the failure callback for all mirrorsN(RRatsetMirrorFailureObj(RR"R
((s-/usr/lib/python2.7/site-packages/yum/repos.pytsetMirrorFailureCallbackDscCs+x$|jj�D]}|j|�qWdS(N(RRatsetInterruptCallback(RRR
((s-/usr/lib/python2.7/site-packages/yum/repos.pyR�JscCs|jS(N(R(R((s-/usr/lib/python2.7/site-packages/yum/repos.pytgetPackageSackNsRRtmetadataicCs�|js|j�n|s(|j}ng}|dkrI|j�}n�|dkrg|jj�}n�t|�tjkr�x�|D]A}t	|t
�r�|j|�q�|j|�}|j|�q�Wn4t|�tj
kr�|j|�}|j|�n|dkrdddg}n	|g}ttjd�r�xE|D]=}|jrTq?n|jr?|j�}	|	j||�q?q?Wtjj�nx�|D]�}|j�}	y|	j||||�Wn�tk
r2}
|
jdjd�s��n|d
kr|jr|j|j�q�tj|
jd��q�tjk
rr}
|dkrl|jrl|j|j�q��q�X|jj |j|	�q�Wd	S(s�
        This populates the package sack from the repositories, two optional 
        arguments:
            - which='repoid, enabled, all'
            - mdtype='metadata, filelists, otherdata, all'
        RRtallR�t	filelistst	otherdataR!itParsingN(sallR�(sallR�(!RRZRR)RRattypettypestListTypet
isinstancet
RepositoryR3Rlt
StringTypeR&R'R(RR*R�t_retrieve_asyncR!tpopulatet	TypeErrortargst
startswithR.R/R0R,R-RtaddSack(RtwhichtmdtypeRt	cacheonlytmyreposR
trepobjtdatatsackR9((s-/usr/lib/python2.7/site-packages/yum/repos.pytpopulateSackRsX	

	
		
N(R
RRRR?RRZR]R`R^RfRhRiRlRRFR/RR)R�R�R�R�R�R�R�R�R�(((s-/usr/lib/python2.7/site-packages/yum/repos.pyR,s0		),														
				R�cBs�eZdZd�Zd�Zd�Zd�Zd�Zd�Ze	e�Z
d�Zd�Zd	�Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zdded�Zdded�ZRS(s#this is an actual repository objectcCs)||_i|_|j�t|_dS(N(R0RR}Rt_xml2sqlite_local(RRg((s-/usr/lib/python2.7/site-packages/yum/repos.pyR�s		
cCs4|j|jkrdS|j|jkr,dSdSdS(sf Sort base class repos. by alphanumeric on their id, also
            see __cmp__ in YumRepository(). ii����iN(R0(RRX((s-/usr/lib/python2.7/site-packages/yum/repos.pyt__cmp__�s
cCs|jS(N(R0(R((s-/usr/lib/python2.7/site-packages/yum/repos.pyR]�scCs
t|j�S(N(thashR0(R((s-/usr/lib/python2.7/site-packages/yum/repos.pyt__hash__�scCsWy|j�WnBtjk
rR}|jjdt|�t|�|jf�nXdS(NsException %s %s in %s ignored(R^R,R-RRHR_R[R`(RR9((s-/usr/lib/python2.7/site-packages/yum/repos.pyR`�scCs|jS(s1 Show self.id, so we can use it and override it. (R0(R((s-/usr/lib/python2.7/site-packages/yum/repos.pyt_ui_id�scCsdS(N((R((s-/usr/lib/python2.7/site-packages/yum/repos.pyR^�scCst|||�dS(s+sets a generic attribute of this repositoryN(tsetattr(Rtkeytvalue((s-/usr/lib/python2.7/site-packages/yum/repos.pytsetAttribute�scCst||d�S(N(RSR(RR�((s-/usr/lib/python2.7/site-packages/yum/repos.pytgetAttribute�scCs|jd�}|dk	o|S(NRR(R�R(RRR((s-/usr/lib/python2.7/site-packages/yum/repos.pyR��scCs$|jdd�t|j|j<dS(NRRi(R�RRR0(R((s-/usr/lib/python2.7/site-packages/yum/repos.pyR~�scCs$|jdd�t|j|j<dS(NRRi(R�RRR0(R((s-/usr/lib/python2.7/site-packages/yum/repos.pyR}�scCs|jd�}|pgS(Ntexclude(R�(RtexcludeList((s-/usr/lib/python2.7/site-packages/yum/repos.pytgetExcludePkgList�scCs|jd�}|pgS(Ntincludepkgs(R�(RtincludeList((s-/usr/lib/python2.7/site-packages/yum/repos.pytgetIncludePkgList�scCs
t��dS(N(tNotImplementedError(R((s-/usr/lib/python2.7/site-packages/yum/repos.pytready�scCs
t��dS(N(R�(R((s-/usr/lib/python2.7/site-packages/yum/repos.pytgetGroupLocation�scCs
t��dS(N(R�(R((s-/usr/lib/python2.7/site-packages/yum/repos.pyR��scCs
t��dS(N(R�(RR((s-/usr/lib/python2.7/site-packages/yum/repos.pyRO�scCs
t��dS(N(R�(RR((s-/usr/lib/python2.7/site-packages/yum/repos.pyR��scCs
t��dS(N(R�(RR"((s-/usr/lib/python2.7/site-packages/yum/repos.pyR��scCs
t��dS(N(R�(RR"((s-/usr/lib/python2.7/site-packages/yum/repos.pyR��scCs
t��dS(N(R�(Rtpackaget	checkfuncttextR((s-/usr/lib/python2.7/site-packages/yum/repos.pyt
getPackage�stsimplecCs
t��dS(N(R�(RR�R�tregetR((s-/usr/lib/python2.7/site-packages/yum/repos.pyt	getHeader�sN(R
RRRR�R]R�R`R�tpropertytui_idR^R�R�R�R~R}R�R�R�R�R�ROR�R�R�RRR�R�(((s-/usr/lib/python2.7/site-packages/yum/repos.pyR��s2		
																			(treR�RRpRJR,tpackageSackRturlgrabber.grabberR'RRRRR�(((s-/usr/lib/python2.7/site-packages/yum/repos.pyt<module>s�h

Zerion Mini Shell 1.0