Viewing File: /usr/local/cpanel/bin/packman_lib/yum_impl.pyc

ó
ÃCbc@s6ddlZddlZddlZddlZddlmZdjƒZda	iid6id6id6id6a
eejj
dƒs›d	ejj
_nd
ejfd„ƒYZed„Zd
„Zd„Zggd„Zd„Zed„Zd„Zged„Zed„Zd„Zddd„ZdS(iÿÿÿÿN(tpackagesNewestByNamesbinit_yum get_info_for_packages_and_prefixes get_info_for_single_package output_json doPackageListstwhatProvidestNewestByNamet
packageStatestreturnNewestByNametcompare_providers_priorityictFastYumBasecBseZdZd„ZRS(s*A wrapper around YumBase to cache lookups.cs„|jdk	r+|jdƒdkr+|jStt|ƒj||Ž}|j‰td‰‡‡fd†}tj	||ƒ|_|S(swrap yum.YumBase._getSackstthisrepoRcs'|ˆkrˆ|ƒˆ|<nˆ|S(N((tselftpkg_tup(tnewest_by_name_cachetorig_returnNewestByName(s-/usr/local/cpanel/bin/packman_lib/yum_impl.pytnew_returnNewestByName3sN(
t_pkgSacktNonetgettsuperRt	_getSacksRtcachettypest
MethodType(RtargstkwargstpkgSackR((R
Rs-/usr/local/cpanel/bin/packman_lib/yum_impl.pyR%s$	
(t__name__t
__module__t__doc__R(((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pyR"scCsmtƒadgtj_ttj_ttdƒr@tjƒn|r\idd6tj_	ntj
jƒdS(Nt
fastestmirrortsetCacheDiritall(Rtybtpreconftdisabled_pluginstFalsetinit_pluginsthasattrRtconftdisable_excludestrepostpopulateSack(R%((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pytinit_yum>s	
cCss|t|ƒt|ƒf}td}||kr9||S|}|jdƒdkrltjdd|ƒ}n|jdƒdkrç|jdƒdkrçt|ƒ}|dkrç|t_tj	|||ƒrä|g||<||Sqçng||<tj
|||ƒ}i}x\|D]T}	|j|	jƒr1qnd||	j<t|	jƒ}
|
r||j
|
ƒqqW||S(NRt(is$\((?:x86-64|noarch|i386|i586|i686)\)tit/(tstrRtcounttretsubt_get_package_objRRt	_last_reqt_quickWhatProvidesRRtnametappend(tpkgtver_optver_datt	cache_keytwp_cachet	quick_pkgtpackage_objt	providerstseen_pkgtprov_pkgt	newestPkg((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pyt_get_what_providesQs2
*	



cCsh|tdkrtd|Sytjj|ƒd}Wntjjk
rUd}nX|td|<|S(NRi(RRRRtyumtErrorstPackageSackErrorR(tpackage_nameR;((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pyR0€s
cCsn|}x|D]}|j|dƒq
Wtjddd|ƒ}|j}|j}ti|d6|d6ƒdS(Nt*t	pkgnarrowRtpatternst	availablet	installed(R4RtdoPackageListsRIRHt1_create_pkg_map_and_package_name_to_possible_objs(tpkglisttprefixestwanted_patternstprefixtyght
installedPkgst
availablePkgs((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pyt7_load_package_info_into_cache_for_packages_and_prefixesŽs
		c	CsEtd}td}i}i}xaddgD]S}xJ||D]>}|dkr`|||j<n|j|jgƒj|ƒq>Wq-Wxº|D]²}t||ƒd||<i}||<||jd||j|d<||kr3||}|jd|j|d<|d|dkr&d	|d
<q=d|d
<q‹d|d
<q‹WdS(NRRRHRIit-tversion_latesttversion_installedt	updatabletstatei(RR3t
setdefaultR4Rtversiontrelease(	RPtcache_NewestByNametcache_packageStatestall_packages_by_nametinstalled_packages_by_nametpkg_listR5RDtpkg_dict((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pyRK¤s.

$

 


cCs9tƒ}t|ƒ}|dkr%dStƒ}|j|d<|j|d<|j|d<|j|d<|j|d<|j|d<|j	|d<|j
|d<|j|d	<g|d
<g|d<|j|d<t
d
|}|d|d<|jddƒ|d<|jddƒ|d<|r5td||ƒtd||ƒn|S(NR3tarchtsize_installedR[RZtsummarytdescriptionturltrpm_licensetdeplistt	conflictst	pkg_groupRRXt_stateRVR*t
_installedRUt_latesttrequires(tdictR0RR3Rbt
installedsizeR[RZRdReRftlicensetgroupRRt_populate_provides_for(RDtpopulate_providesRaR;tpkg_outR((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pyt
_get_pkg_infoÊs2		











cCsL|dkr'|dkr'tdƒ‚n|dkr9dnd}xt||ƒD]õ}|\}}}ykt|||ƒ}t|ƒdkrÈtj||ƒ}	g}x"|	D]}
|j|
dƒqªWng}Wn#tk
rôd}g}g}nXx-|D]%}
|j|
j|
j	|
j
gƒqüW||ji|d6|d6ƒqOWdS(	NRnRis+first arg must be 'requires' or 'conflicts'RhiiR3tprovided_by(t
ValueErrortgetattrR@tlenRt_compare_providersR4RR3RZR[(ttype_keyRuR;t
target_keytpkg_datR5R6R7tpkg_lsttsorted_pkg_listtpkg_with_scoreRwtpkg_objR>((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pyRsðs(




#cCsKt||ƒg}td}x'|D]}|jt|d|ƒƒq$W|S(NRRt(RSRR4Rv(RLRMRttresponseR]R5((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pyt"get_info_for_packages_and_prefixess


cCs4yt|gd|ƒdSWntk
r/dSXdS(NRti(R„t
IndexError(RDRt((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pytget_info_for_single_packages	
cCs=dGHytj|ƒGHWntk
r8tj|ƒGHnXdS(NtJSON_OUTPUT_HEADER(tjsontdumpstAttributeErrortwrite(Rƒ((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pytoutput_json&s

RcCstj||ƒS(N(RRJ(RFRG((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pyRJ5s(RˆR.RRAtyum.packageSackRtsplitt__all__RRRR#tpackagestFakeRepositoryRtYumBaseRR!R(R@R0RSRKtTrueRvRsR„R†RŒRJ(((s-/usr/local/cpanel/bin/packman_lib/yum_impl.pyt<module>s2
	/		&&	!		
Back to Directory File Manager