PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB`  [/\c@@sddlmZddlmZddlmZddlmZddlmZm Z ddlZ ddl Z ddl Z ddl Z e jdZdejfd YZdS( i(tabsolute_import(tunicode_literals(t CompsQuery(tcommands(t_tucdNudnft GroupCommandcB@seZdZidd6dd6dd6dd6dd6d d 6Zd!eejZed Zidd6dd6Z d"Z dZ dZ dZ dZdZdZdZdZdZdZdZdZedZdZdZd ZRS(#u; Single sub-command interface for most groups interaction. ulistu grouplistuinstallu groupinstallu groupupdateuremoveu groupremoveu grouperaseuinfou groupinfougroupugroupsu'display, or use, the groups informationuupgradeuupdateuerasecC@s|jj|jjd}|rb|jjdk rS|jjjd|jjn||j_n|jjdkrd|j_n|jj|jj|jj|j_dS(Niusummary( tdirect_commandstgettoptstcommandtsubcmdtNonetargstinsertt _CMD_ALIASES(tselftdirect((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt _canonical4scC@s#tt|j|t|_dS(N(tsuperRt__init__tFalset_remark(Rtcli((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyRAscC@s7td}t|jjs3tjj|ndS(Nu4No group data available for configured repositories.(Rtlentbasetcompstdnft exceptionst CompsError(Rtmsg((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt _assert_compsEs c@swfd}j|dkr7jjj}njjjdj|}tjj t tjj ||S(Nc@s jjjj|j}| S(N(RthistorytenvRtid(R!t env_found(R(s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pytavailable_predKsu,( RR RRt environmentstenvironments_by_patterntjoinRtutiltmapalltlistt partition(RtpatternsR$tenvs((Rs:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt_environment_listsJs   c @sfd}g}g}j|dkrCjjj}njjjdj|}xI|D]A}|}||r|}n| s|jrh|j|qhqhW||fS(Nc@s)jjjj|j}|r%tStS(N(RR tgroupRR"tTrueR(R/t group_found(R(s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pytinstalled_predXsu,( RR RRtgroupstgroups_by_patternR't uservisibletappend( RR5R,R2t installedt availabletgrpstgrpttgt_list((Rs:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt _group_listsWs     cC@s|jjdtdS(Nt arch_filter(Rt read_compsR0(R((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt _grp_setuposcC@sx|D]}t}x3|jjj|D]}|jj|t}q)Wx3|jjj|D]}|jj|t}q_W|st j t d|qqWdgfS(Nu!Warning: Group %s does not exist.i( RRRR&toutputtdisplay_groups_in_environmentR0R4tdisplay_pkgs_in_groupstloggerterrorR(Rtuserlisttstrngt group_matchedR!R/((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt_infors   c@s5d}d}d}t|dkr|ddkrJd}|jdq|ddkrpd}|jdq|ddkrd}|jdqnjjrd}njjrd}njjrd}n|sd}nt}|dk rx|D]y}jj }t|j |dk}t|j |dk} | r| rt j tdd|t}qqW|rdgfSnj|\} } j||\} } fd}fd }|s|td | n|s|td | n|stx6| D].}|jr>q)n|td |tq)Wtx9| D].}|js}qhn|td |tqhWn|rdgfStx6| D].}|jrqn|td|tqWtx6| D].}|jsqn|td|tqWdgfS(Niiuhiddenu installedu availableuWarning: No groups match:u %sc@sms|GHnd|j}jjjr>|d|j7}n|jr[|d|j7}ndj|GHdS(Nu %su (%s)u [%s]u{}(tui_nameRtconftverboseR"t lang_onlytformat(tsectR/R(tdoneR(s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt_out_grps  c@sX|r|GHnxC|D];}d|j}jjjrK|d|j7}n|GHqWdS(Nu %su (%s)(RIRRJRKR"(RNR-teR(R(s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt_out_envs  uAvailable Environment Groups:uInstalled Environment Groups:uInstalled Groups:uInstalled Language Groups:uAvailable Groups:uAvailable Language Groups:(RtpopR thiddenR7R8R RRRR4R&RCRDRR0R.R<RL(RRER5t showinstalledt showavailableterrsR/Rtin_grouptin_environmenttenv_instt env_availR7R8RPRR((RORs:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt_lists                           c C@st|jj|jjtjtjBtjtjB}|jj}|j |}|j j r~t |jj jdg}nt |jj j}|jj|}x*|jD]}tjj|j||qWx*|jD]}tjj|j||qWdS(Nuoptional(RRRR tGROUPSt ENVIRONMENTSt AVAILABLEt INSTALLEDt_build_comps_solverRR t with_optionalttupleRJtgroup_package_typest_translate_comps_pkg_typesR%Rtinstall_or_skipt_environment_installR3t_group_install( RR,tqtsolvertresttypest pkg_typestenv_idtgroup_id((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt _mark_installs  cC@st|jj|jjtjtjBtj}|jj}|j|}x|j D]}|j |qVWx|j D]}|j |qwWdS(N( RRRR R]R^R`RaRR%t_environment_removeR3t _group_remove(RR,RiRjRkRntgrp_id((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt _mark_removes  cC@s/|d|jkr%|d|dfSd|fS(Niiuinstall(t _MARK_CMDS(Rtextcmds((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt _mark_subcmdscC@sd}t|dkrA|ddkrAd}|jdqAn|jjrVd}n|sed}n|j||\}}d}d}x'|D]}|jrqn|d7}qW|td|d}x'|D]}|jsqn|d7}qW|td|t}x'|D]}|jr.qn|d7}qW|td|t}x'|D]}|jsqq\n|d7}q\W|td|dgfS( NiiuhiddencS@s!|s dStjd||dS(Nu%s %u(RCtinfo(RNtnum((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyRPsuInstalled Groups:uInstalled Language Groups:uAvailable Groups:uAvailable Language Groups:( RRSR RTR R<RLRR(RRER5R7R8RPROR/((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt_summarysH            cC@s|jddddtd|j}|jddddtd|jddddtd |jd dddtd |jd d ddd|jdd ddS(Nu--with-optionaltactionu store_truethelpu$include optional packages from groupu--hiddenushow also hidden groupsu --installedushow only installed groupsu --availableushow only available groupsusubcmdtnargsu?tmetavaruCOMMANDuargsu*(t add_argumentRtadd_mutually_exclusive_group(tparsert grpparser((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt set_argparser6s     cC@s0|j|jj}|jj}d }||krbtjtdd j|tj j n|d kr| r|j j j |tj j n|j j }t|_|d krt|_t|_n|dkrt|_t|_n t|_tj|j|d kr,tj|j|j ndS(Nulistuinfouremoveuinstalluupgradeusummaryumarku$Invalid groups sub-command, use: %s.u, (ulistuinfouremoveuinstalluupgradeusummaryumark(uinstalluremoveumarkuinfo(uinstallumarkuremoveuupgrade(uinstalluupgrade(RR R R RCtcriticalRR'RRtCliErrort optparsert print_helptdemandsR0tsack_activationt root_usert resolvingt allow_erasingRtavailable_reposRt_checkEnabledRepoRt _checkGPGKey(RtcmdR tcmdsR((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyt configureDs.              cC@s|jj}|jj}|j|dkr;|j|S|dkrT|j|S|dkrm|j|S|dkr|j|\}}|dkr|j|S|j |Sn|dkr|jj rt |j j jdg}nt |j j j}t|_y#|j j|||j j jSWqtjjk r}td}tj||j jjj|tjjtd qXn|d kr|j j|S|dkrxB|D]7}y|j j|gWqtjjk rqXqWndS( NusummaryulistuinfoumarkuremoveuinstalluoptionaluNo package %s available.u)Unable to find a mandatory group package.uupgrade( R R R R?RzR\RHRwRtRpRbRcRRJRdR0Rtenv_group_installtstrictRRt MarkingErrorRRCRxR@ttermtboldtPackagesNotAvailableErrortenv_group_upgradetenv_group_removetError(RRRvR RlRQRtarg((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pytruncsF                "    cC@s|js dS|jj}|jj}|j}xZ|jjjjjd|D]4}|j j |}|j ||j ||qSWdS(Ntname( RRt_goalR t group_memberstsacktqueryR7tfiltermtrpmt get_reasont set_reasont group_reason(RtgoalR tnamestpkgtreason((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pytrun_transactions    +(ugroupugroups(uinstalluremove(t__name__t __module__t__doc__RRctkeystaliasesRtsummaryRRuRRRR.R<R?RHR\RpRtRwRzt staticmethodRRRR(((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyR#s8           a   /  ,(t __future__RRt dnf.compsRtdnf.cliRtdnf.i18nRRRtdnf.exceptionstdnf.utiltloggingt getLoggerRCtCommandR(((s:/usr/lib/python2.7/site-packages/dnf/cli/commands/group.pyts