VULN_CHECK_I913V6 (fq:ddlmZddlmZddlmZddlmZddlmZm Z ddl Z ddlZ ddl Z ddlZ ddlZej dZGdd ej$Zy) )absolute_import)unicode_literals) CompsQuery)commands)_ucdNdnfceZdZdZdddddddZdeej zZedZ d dd Z d Z d Z d Z fdZdZdZdZdZdZdZdZdZdZedZdZdZdZxZS) GroupCommandz; Single sub-command interface for most groups interaction. listinstallremoveinfo) grouplist groupinstall groupupdate groupremove grouperase groupinfo)groupgroupsgrpz'display, or use, the groups informationupgrade)updateerase)r r)summaryr rrr rmarkc|jj|jj}|ra|jj:|jj j d|jj||j_|jjd|j_|jj|jj|jj|j_y)Nrr)direct_commandsgetoptscommandsubcmdargsinsert _CMD_ALIASES)selfdirects ;/usr/lib/python3.12/site-packages/dnf/cli/commands/group.py _canonicalzGroupCommand._canonical6s%%))$))*;*;< yy+ %%a)9)9:%DII  99   #(DII ,,001A1A151A1AC c:tt| |d|_y)NF)superr __init___remark)r'cli __class__s r)r.zGroupCommand.__init__Cs lD*3/ r+ctd}t|jjstj j |y)Nz4No group data available for configured repositories.)rlenbasecompsr exceptions CompsError)r'msgs r) _assert_compszGroupCommand._assert_compsGs7FG499??#..++C0 0$r+c`fd}j|!jjj}n4jjj dj |}t jjtt jj||S)Nc|jjjj|j}| SN)r4historyenvr id)r> env_foundr's r)available_predz7GroupCommand._environment_lists..available_predMs/ ))--11#&&9I > !r+,) r9r4r5 environmentsenvironments_by_patternjoinr utilmapallr partition)r'patternsrAenvss` r)_environment_listszGroupCommand._environment_listsLsv "   99??//D99??::388H;MNDxxtSXX%7%7%MNNr+cRfd}g}g}j|!jjj}n4jjj dj |}|D].}|}||r|}|r |j s|j|0||fS)Nc~jjjj|j}|ryy)NTF)r4r=rr r?)r group_foundr's r)installed_predz1GroupCommand._group_lists..installed_predZs0))++1155ehh?Kr+rB)r9r4r5rgroups_by_patternrE uservisibleappend) r'rQrIrO installed availablegrpsrtgt_lists ` r) _group_listszGroupCommand._group_listsYs       99??))D99??44SXXh5GHDC Hc"$#//$ )##r+c||D]}d}|jjj|D]}|jj |d}!|jjj |D]}|jj |d}!|rtjtd|dgfS)NFTz!Warning: Group %s does not exist.r) r4r5rDoutputdisplay_groups_in_environmentrPdisplay_pkgs_in_groupsloggererrorr)r'userliststrng group_matchedr>rs r)_infozGroupCommand._infoqsE!Myy>>uE 99#> $ F::5A 2259 $ B! QBCUK"u r+c<d}d}d}|jjjxs|jj|rt|ddk(rd}|j dnU|ddk(rd}|j dn9|ddk(rd}|j dn|ddk(rd|j dnn|rt|jj rd}|jjrd}|jjrd}|sd}d}||D]|}|jj}t|j|dkD}t|j|dkD} |rV| rYtjtd d z|d}~|rdgfS|j!|\} } |j#||\} } fd }fd }|s|td | |s|td| |sTd| D]#}|j$r|td|d%d| D]#}|j$s|td|d%|rdgfSd| D]#}|j$r|td|d%d| D]#}|j$s|td|d%dgfS)NrhiddenrSrTidsTFzWarning: No groups match:z %scs t|dtjj|jz}r|d|j zz }|j r|d|j zz }tdj|y)N %s (%s)z [%s]z{})printr rF_name_unset_wrapperui_namer? lang_onlyformat)sectrr8done print_idss r)_out_grpz$GroupCommand._list.._out_grpskd CHH88GGCw))w00 $++c" #r+c|r t||D]M}dtjj|jz}r|d|j zz }t|Oy)Nrgrh)rir rFrjrkr?)rnrJer8rps r)_out_envz$GroupCommand._list.._out_envsPd  < )Cc r+zAvailable Environment Groups:zInstalled Environment Groups:Installed Groups:Installed Language Groups:Available Groups:Available Language Groups:)r4confverboser!repoprdrSrTr5r3rPrDr\r]rrKrWrl)r'r^rQ showinstalled showavailableerrsrr5in_groupin_environmentenv_inst env_availrSrTrqrtrorps @@r)_listzGroupCommand._lists   IINN**;diimm {h&  Q! + !  Q! + !  Q!%  Q 99  K 99  M 99  MH  ! u66u=>B!$U%B%B5%I!JQ!NLL#>!?)!K!&(D""u "55h?)#00hG 9 $  Q67 C Q67 BD"??./7 # D"78%@ # b5LE Q*+U 3D  E?? Q34e <D  "u r+ct|jj|jjtjtj ztj tjz}|jj}|j|}|jjr.t|jjjdgz}n)t|jjj}tj j#|}|j$D]}|j'|||j(D]}|j+||y)Noptional)rr4r5r=GROUPS ENVIRONMENTS AVAILABLE INSTALLED_build_comps_solverr r! with_optionaltuplerygroup_package_typeslibdnf transactionlistToCompsPackageTyperC_environment_installr_group_install) r'rIqsolverrestypes pkg_typesenv_idgroup_ids r) _mark_installzGroupCommand._mark_installs tyy (9(9!((:+B+BB!++j.B.BB D..0aeeX 99 " "$))..<< |KLE$))..<<=E&&==eD &&F  ' ' :' H  ! !(I 6#r+ct|jj|jjtjtj ztj }|jj}|j|}|jD]}|j||jD]}|j|yr<) rr4r5r=rrrrr rC_environment_remover _group_remove)r'rIrrrrgrp_ids r) _mark_removezGroupCommand._mark_removes tyy (9(9!((:+B+BB!++ -..0aeeX&&F  & &v .'jjF   (!r+c@|d|jvr |d|ddfSd|fS)Nrrcr ) _MARK_CMDS)r'extcmdss r) _mark_subcmdzGroupCommand._mark_subcmds2 1: (1:wqr{* *'!!r+c0d}t|dkDr|ddk(rd}|jd|jjrd}|sd}|j ||\}}d}d}|D]}|j r|dz }|t d|d}|D]}|j s|dz }|t d|d}|D]}|j r|dz }|t d|d}|D]}|j s|dz }|t d |dgfS) Nrcrrdc8|sytjd||y)Nz%s %u)r\r)rnnums r)rqz'GroupCommand._summary.._out_grps KKs +r+rurvFrwrx)r3r{r!rdrWrlr)r'r^rQrSrTrqrors r)_summaryzGroupCommand._summary s@ x=1 {h&  Q 99  KH#00hG 9 ,E AID &'.E?? AID /0$7E AID &'.E?? AID /0$7"u r+c @|jddtd|j}|jddtd|jddtd|jd dtd |jd dtd |jd ddtdjtj ddj tj dd|jdddtdy)Nz--with-optional store_truez$include optional packages from group)actionhelpz--hiddenzshow also hidden groupsz --installedzshow only installed groupsz --availablezshow only available groupsz--idszshow also ID of groupsr#?COMMANDz'available subcommands: {} (default), {}r, rc)nargsmetavarrr$* COMMAND_ARGzargument for group subcommand) add_argumentradd_mutually_exclusive_grouprmr _GROUP_SUBCOMMANDSrE)parser grpparsers r) set_argparserzGroupCommand.set_argparser<s1-l!"#I!J  L779 z,$%&?$@  B}\$%&B$C  E}\$%&B$C  Ew|$%&>$?  AHC!"#L!M!T!T , ? ? B $ ,*I*I!"*M N"P  Q F#}!"#B!C  Er+c|j|jj}|jj}||jvrRt j tddj|jtjj|dvrA|s?|jjj|tjj|jj}d|_|dvrd|_d|_|dk(rd|_d|_nd|_|dvrt)j*|j,|dvr+t)j.|j,|jyy) Nz$Invalid groups sub-command, use: %s.r)r rrrT)r rrrrF)r r)r*r!r#r$rr\criticalrrEr r0CliError optparser print_helpdemandssack_activation root_user resolving allow_erasingavailable_reposr_checkEnabledRepor4 _checkGPGKey)r'cmdr$rs r) configurezGroupCommand.configurePs/ iiyy~~ d-- - OOADE IId&=&=> @''"" " 7 7 HH   ) )$ /''"" "(("""& : : $G  $G  (?$(G !&+G #&*G # x  & &tyy 1 ( (  ! !$))TXX 6 )r+c|jj}|jj}|dk(r|j|S|dk(r|j |S|dk(r|j |S|dk(r;|j |\}}|dk(r|j|S|j|S|dk(r|jjr.t|jjjdgz}n)t|jjj}d|_ |jj|||jjj S|d k(r|jj7|S|dk(r%|D]} |jj9|g!yy#t"j$j&$r{}t)d }t*j-||jj.j0j3|t"j$j5t)d d}~wwxYw#t"j$j:$rYwxYw) Nrr rrrr rTzNo package %s available.z)Unable to find a mandatory group package.r)r!r#r$rrrarrrrrr4ryrr/env_group_installstrictr r6 MarkingErrorrr\rrYtermboldPackagesNotAvailableErrorenv_group_upgradeenv_group_removeError)r'rrr#rrsr8args r)runzGroupCommand.runosii)).. ) ==) ) &=::g& & &=::g& & &= $ 1 1' : VW!((11))'22 ) yy&&diinn@@J<OPdiinn@@ADL Dyy227E3799>>3H3HJJ ) 99..w7 7 (?II..u5 >>.. D23 C!1!1!6!6!;!;A!>?nn>>ABDD D~~++s+):F/I /I A6II I*)I*c|jsy|jj}|jj}|j}|jj j jj|D]?}|jj|}|j||j||Ay)N)name) r/r4_goalr= group_memberssackqueryrSfiltermrpm get_reason set_reason group_reason)r'goalr=namespkgreasons r)run_transactionzGroupCommand.run_transactions|| yy))##""99>>'')335==5=IC[[++C0F   sD$5$5c6$B CJr+)__name__ __module__ __qualname____doc__rrkeysaliasesrrr&rrr*r.r9rKrWrarrrrr staticmethodrrrr __classcell__)r1s@r)r r $sE(.(1(1(0(0(. 0O )51E1E1G+HHG9:G#,#+-L&J\ C1 O$0"fP7" )" -^EE&7>(TDr+r ) __future__rr dnf.compsrdnf.clirdnf.i18nrrlibdnf.transactionrr dnf.exceptionsdnf.utillogging getLoggerr\Commandr r+r)rsM*''    5 !}D8##}Dr+