Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ÌÐg�:ã@sˆddlmZddlmZddlmZddlmZddlmZm Z ddl Z ddlZ ddl Z ddlZ ddlZejdƒZGdd „d ejƒZdS) é)Úabsolute_import)Úunicode_literals)Ú CompsQuery)Úcommands)Ú_ÚucdNÚdnfcsÐeZdZdZdddddddœZd-eejƒƒZed ƒZ d dd œZ d.Z d/Z dd„Z ‡fdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd „Zd!d"„Zd#d$„Zed%d&„ƒZd'd(„Zd)d*„Zd+d,„Z‡ZS)0Ú GroupCommandz; Single sub-command interface for most groups interaction. ÚlistÚinstallÚremoveÚinfo)Z grouplistZ groupinstallZ groupupdateZ groupremoveZ grouperaseZ groupinfoÚgroupÚgroupsÚgrpz'display, or use, the groups informationÚupgrade)ÚupdateZeraseÚsummaryÚmarkcCsn|jj|jjƒ}|r<|jjdk r4|jjjd|jjƒ||j_|jjdkrPd|j_|jj|jj|jjƒ|j_dS)Nrr)Údirect_commandsÚgetÚoptsZcommandÚsubcmdÚargsÚinsertÚ _CMD_ALIASES)ÚselfZdirect©rú/usr/lib/python3.6/group.pyÚ _canonical6s   zGroupCommand._canonicalcstt|ƒj|ƒd|_dS)NF)Úsuperr Ú__init__Ú_remark)rÚcli)Ú __class__rrr!CszGroupCommand.__init__cCs$tdƒ}t|jjƒs tjj|ƒ‚dS)Nz4No group data available for configured repositories.)rÚlenÚbaseÚcompsrÚ exceptionsZ CompsError)rÚmsgrrrÚ _assert_compsGs zGroupCommand._assert_compscsT‡fdd„}ˆjƒ|dkr(ˆjjj}nˆjjjdj|ƒƒ}tjjt tjj ||ƒƒS)Ncsˆjjjj|jƒ}| S)N)r&ÚhistoryÚenvrÚid)r,Z env_found)rrrÚavailable_predMsz7GroupCommand._environment_lists..available_predú,) r*r&r'Ú environmentsÚenvironments_by_patternÚjoinrÚutilZmapallr Ú partition)rÚpatternsr.Úenvsr)rrÚ_environment_listsLs   zGroupCommand._environment_listsc s€‡fdd„}g}g}ˆjƒ|dkr0ˆjjj}nˆjjjdj|ƒƒ}x2|D]*}|}||ƒr^|}| sj|jrJ|j|ƒqJW||fS)Ncsˆjjjj|jƒ}|rdSdS)NTF)r&r+rrr-)rZ group_found)rrrÚinstalled_predZsz1GroupCommand._group_lists..installed_predr/)r*r&r'rÚgroups_by_patternr2Ú uservisibleÚappend) rr:r5r8Ú installedÚ availableZgrpsrZtgt_listr)rrÚ _group_listsYs    zGroupCommand._group_listscCs~xt|D]l}d}x&|jjj|ƒD]}|jj|ƒd}qWx&|jjj|ƒD]}|jj|ƒd}qFW|stjt dƒ|ƒqWdgfS)NFTz!Warning: Group %s does not exist.r) r&r'r1ÚoutputZdisplay_groups_in_environmentr9Zdisplay_pkgs_in_groupsÚloggerÚerrorr)rÚuserlistZstrngZ group_matchedr,rrrrÚ_infoqs   zGroupCommand._infocs„d}d}d}|jjjp|jj‰xz|r˜|ddkr@d}|jdƒq |ddkr\d}|jdƒq |ddkrxd}|jdƒq |ddkr”d‰|jdƒq Pq W|jjr¦d}|jjr²d}|jjr¾d}|sÆd}d}|dk �r@x\|D]T}|jj }t |j |ƒƒdk}t |j |ƒƒdk} | rÚ| rÚt jtd ƒd |ƒd}qÚW|�r@dgfS|j|ƒ\} } |j||ƒ\} } ‡‡fd d „}‡fd d„}|�sŒ|tdƒ| ƒ|�s |tdƒ| ƒ|�s d‰x,| D]$}|j�rÀ�q°|tdƒ|ƒd‰�q°Wd‰x,| D]$}|j�sò�qâ|tdƒ|ƒd‰�qâW|�rdgfSd‰x,| D]$}|j�r2�q"|tdƒ|ƒd‰�q"Wd‰x,| D]$}|j�sd�qT|tdƒ|ƒd‰�qTWdgfS)NérÚhiddenr<r=ÚidsTFzWarning: No groups match:z %scs`ˆs t|ƒd|jdk r|jntdƒ}ˆr:|d|j7}|jrN|d|j7}tdj|ƒƒdS)Nz %sz z (%s)z [%s]z{})ÚprintÚui_namerr-Ú lang_onlyÚformat)Úsectrr))ÚdoneÚ print_idsrrÚ_out_grp°sz$GroupCommand._list.._out_grpcsT|r t|ƒxB|D]:}d|jdk r(|jntdƒ}ˆrD|d|j7}t|ƒqWdS)Nz %sz z (%s))rGrHrr-)rKr6Úer))rMrrÚ_out_envºs z$GroupCommand._list.._out_envzAvailable Environment Groups:zInstalled Environment Groups:zInstalled Groups:zInstalled Language Groups:zAvailable Groups:zAvailable Language Groups:)r&ÚconfÚverboserrFÚpoprEr<r=r'r%r9r1r@rArr7r>rI)rrBr:Z showinstalledZ showavailableZerrsrr'Zin_groupZin_environmentZenv_instZ env_availr<r=rNrPr)rLrMrÚ_list‚s”                    zGroupCommand._listc Cs®t|jj|jjtjtjBtjtjBƒ}|jjƒ}|j |Ž}|j j rXt |jj jdgƒ}nt |jj jƒ}tjj|ƒ}x|jD]}|j||ƒqzWx|jD]}|j||ƒq–WdS)NÚoptional)rr&r'r+ÚGROUPSÚ ENVIRONMENTSZ AVAILABLEÚ INSTALLEDÚ_build_comps_solverrrÚ with_optionalÚtuplerQÚgroup_package_typesÚlibdnfZ transactionZlistToCompsPackageTyper0Z_environment_installrZ_group_install) rr5ÚqÚsolverÚresÚtypesZ pkg_typesÚenv_idZgroup_idrrrÚ _mark_installês      zGroupCommand._mark_installcCslt|jj|jjtjtjBtjƒ}|jjƒ}|j|Ž}x|j D]}|j |ƒqd}|j||ƒ\}}dd„}d}x|D]}|jrlq`|d7}q`W|tdƒ|ƒd}x|D]}|jsœq�|d7}q�W|tdƒ|ƒd}x|D]}|jrÌqÀ|d7}qÀW|td ƒ|ƒd}x|D]}|j�sþqð|d7}qðW|td ƒ|ƒdgfS) NrDrrEcSs|sdStjd||ƒdS)Nz%s %u)r@r )rKZnumrrrrNsz'GroupCommand._summary.._out_grpzInstalled Groups:zInstalled Language Groups:FzAvailable Groups:zAvailable Language Groups:)r%rSrrEr>rIr)rrBr:r<r=rNrLrrrrÚ_summary sH           zGroupCommand._summaryc Csº|jddtdƒd�|jƒ}|jddtdƒd�|jddtdƒd�|jd dtd ƒd�|jd dtd ƒd�|jd ddtdƒjtjddjtjdd…ƒƒd�|jdddtdƒd�dS)Nz--with-optionalÚ store_truez$include optional packages from group)ÚactionÚhelpz--hiddenzshow also hidden groupsz --installedzshow only installed groupsz --availablezshow only available groupsz--idszshow also ID of groupsrú?ZCOMMANDz'available subcommands: {} (default), {}rz, rD)ÚnargsÚmetavarrkrÚ*Z COMMAND_ARGzargument for group subcommand)Ú add_argumentrZadd_mutually_exclusive_grouprJr Ú_GROUP_SUBCOMMANDSr2)ÚparserZ grpparserrrrÚ set_argparser<s"       zGroupCommand.set_argparsercCsÔ|jƒ|jj}|jj}||jkrBtjtdƒdj|jƒƒt j j ‚|d krf| rf|j j j |ƒt j j ‚|j j}d|_|d krˆd|_d|_|dkržd|_d |_nd|_|dkr¸tj|jƒ|d krÐtj|j|j ƒdS) Nz$Invalid groups sub-command, use: %s.z, r r rr TrF)r r rr )r rr r)r r)rrrrrqr@Zcriticalrr2rr#ZCliErrorZ optparserZ print_helpÚdemandsZsack_activationZ root_userZ resolvingZ allow_erasingZavailable_reposrZ_checkEnabledRepor&Z _checkGPGKey)rÚcmdrrtrrrÚ configurePs.   zGroupCommand.configurecCs†|jj}|jj}|dkr"|j|ƒS|dkr4|j|ƒS|dkrF|j|ƒS|dkrx|j|ƒ\}}|dkrn|j|ƒS|j|ƒS|dk�r$|jj r t |j j j dgƒ}nt |j j j ƒ}d|_y|j j|||j j jƒStjjk �r"}z6td ƒ}tj||j jjj|ƒƒtjjtd ƒƒ‚WYdd}~XnX|d k�r:|j j|ƒS|dk�r‚x<|D]4}y|j j|gƒWntjjk �rzYnX�qJWdS) Nrr r rr r rUTzNo package %s available.z)Unable to find a mandatory group package.r)rrrrhrTrCrgrdrcrZr[r&rQr\r"Zenv_group_installÚstrictrr(Z MarkingErrorrr@r r?ZtermZboldZPackagesNotAvailableErrorZenv_group_upgradeZenv_group_removeÚError)rrurfrrarOr)ÚargrrrÚrunosD            zGroupCommand.runcCsf|js dS|jj}|jj}|j}x@|jjjƒjƒj|d�D]$}|j j |ƒ}|j ||j ||ƒƒq:WdS)N)Úname) r"r&Z_goalr+Z group_membersZsackZqueryr<ZfiltermZrpmZ get_reasonZ set_reasonZ group_reason)rZgoalr+ÚnamesZpkgÚreasonrrrÚrun_transaction™s zGroupCommand.run_transaction)rrr)r r )rr r r r rr)Ú__name__Ú __module__Ú __qualname__Ú__doc__rr[ÚkeysÚaliasesrrrrerqrr!r*r7r>rCrTrcrdrgrhÚ staticmethodrsrvrzr~Ú __classcell__rr)r$rr $s8  h / *r )Z __future__rrZ dnf.compsrZdnf.clirZdnf.i18nrrZlibdnf.transactionr]rZdnf.exceptionsZdnf.utilZloggingZ getLoggerr@ZCommandr rrrrÚs