관리-도구
편집 파일: group.cpython-39.pyc
a �����!cq:����������������������@���s����d�dl�mZ�d�dl�mZ�d�dlmZ�d�dlmZ�d�dlmZm Z �d�dl Zd�dlZd�dl Zd�dlZd�dlZe�d�ZG�dd ��d ej�ZdS�) �����)�absolute_import)�unicode_literals)� CompsQuery)�commands)�_�ucdN�dnfc�����������������������s����e�Zd�ZdZddddddd�Zdee�����Zed�Z d dd �Z dZdZd d��Z ��fdd�Zdd��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd��Zdd ��Zd!d"��Zed#d$���Zd%d&��Zd'd(��Zd)d*��Z���ZS�)+�GroupCommandz; Single sub-command interface for most groups interaction. �list�install�remove�info)Z grouplistZgroupinstallZgroupupdateZgroupremoveZ grouperaseZ groupinfo)�group�groups�grpz'display, or use, the groups information�upgrade)�updateZerase)r���r���)�summaryr ���r ���r���r���r����markc�����������������C���sn���|�j��|�jj�}|r<|�jjd�ur4|�jj�d|�jj��||�j_|�jjd�u�rPd|�j_|�j�|�jj|�jj�|�j_d�S�)Nr���r���)�direct_commands�get�optsZcommand�subcmd�args�insert�_CMD_ALIASES)�selfZdirect��r����:/usr/lib/python3.9/site-packages/dnf/cli/commands/group.py� _canonical6���s�����zGroupCommand._canonicalc��������������������s���t�t|���|��d|�_d�S�)NF)�superr ����__init__�_remark)r����cli�� __class__r���r���r!���C���s����zGroupCommand.__init__c�����������������C���s$���t�d�}t|�jj�s tj�|��d�S�)Nz4No group data available for configured repositories.)r����len�base�compsr���� exceptionsZ CompsError)r����msgr���r���r���� _assert_compsG���s����zGroupCommand._assert_compsc��������������������sT�����fdd�}�������|d�u�r(��jjj}n��jj�d�|��}tj�t tj� ||��S�)Nc��������������������s�����j�jj�|�j�}|�S��N)r'����history�envr����id)r.���Z env_found�r���r���r����available_predM���s����z7GroupCommand._environment_lists.<locals>.available_pred�,)r+���r'���r(����environments�environments_by_pattern�joinr����utilZmapallr ���� partition)r����patternsr1����envsr���r0���r����_environment_listsL���s����zGroupCommand._environment_listsc����������� ���������sz�����fdd�}g�}g�}�������|d�u�r0��jjj}n��jj�d�|��}|D�](}|}||�r\|}|rf|jrH|�|��qH||fS�)Nc��������������������s�����j�jj�|�j�}|rdS�dS�)NTF)r'���r-���r���r���r/���)r���Zgroup_foundr0���r���r����installed_predZ���s����z1GroupCommand._group_lists.<locals>.installed_predr2���)r+���r'���r(���r����groups_by_patternr5����uservisible�append) r���r=���r8���r;���� installed� availableZgrpsr���Ztgt_listr���r0���r����_group_listsY���s���� zGroupCommand._group_listsc�����������������C���sr���|D�]d}d}|�j�j�|�D�]}|�j�|��d}q|�j�j�|�D�]}|�j�|��d}q>|st�t d�|��qdg�fS�)NFTz!Warning: Group %s does not exist.r���) r'���r(���r4����outputZdisplay_groups_in_environmentr<���Zdisplay_pkgs_in_groups�logger�errorr���)r����userlistZstrngZ group_matchedr.���r���r���r���r����_infoq���s����zGroupCommand._infoc��������������������sh��d}d}d}|�j�jjp|�jj�|r�|d�dkr>d}|�d��q|d�dkrZd}|�d��q|d�dkrvd}|�d��q|d�dkr�d�|�d��qq�q|�jjr�d}|�jjr�d}|�jjr�d}|s�d�}d}|d�u�r4|D�]P}|�j�j }t |�|��dk}t |�|��dk} |s�| s�t �td �d �|��d}q�|�r4dg�fS�|��|�\} }|��||�\}} ���fdd�}�fd d�}|�s�|td�|��|�s�|td�| ��|�s�d��|D�]$}|j�r��q�|td�|��d���q�d��|D�]$}|j�s�q�|td�|��d���q�|�rdg�fS�d��| D�]$}|j�r�q|td�|��d���qd��| D�]$}|j�sJ�q:|td�|��d���q:dg�fS�)N����r����hiddenr?���r@����idsTFzWarning: No groups match:z %sc��������������������sV�����st�|���dtj�|j��}�r0|d|j�7�}|jrD|d|j�7�}t�d�|���d�S�)N� %s� (%s)z [%s]z{})�printr���r6����_name_unset_wrapper�ui_namer/���� lang_only�format)�sectr���r*�����done� print_idsr���r����_out_grp����s����z$GroupCommand._list.<locals>._out_grpc��������������������sF���|rt�|���|D�]0}dtj�|j��}��r8|d|j�7�}t�|��qd�S�)NrJ���rK���)rL���r���r6���rM���rN���r/���)rQ���r9����er*���)rT���r���r����_out_env����s����z$GroupCommand._list.<locals>._out_envzAvailable Environment Groups:zInstalled Environment Groups:�Installed Groups:�Installed Language Groups:�Available Groups:�Available Language Groups:)r'����conf�verboser���rI����poprH���r?���r@���r(���r&���r<���r4���rC���rD���r���r:���rA���rO���)r���rE���r=���Z showinstalledZ showavailableZerrsr���r(���Zin_groupZin_environmentZenv_instZ env_availr?���r@���rU���rW���r���rR���r����_list����s����� � zGroupCommand._listc����������� ������C���s����t�|�jj|�jjt�jt�jB�t�jt�jB��}|�j���}|j |��}|�j jrXt|�jj jdg��}nt|�jj j�}tj�|�}|jD�]}|�||��qx|jD�]}|�||��q�d�S�)N�optional)r���r'���r(���r-����GROUPS�ENVIRONMENTSZ AVAILABLE� INSTALLED�_build_comps_solverr���r���� with_optional�tupler\����group_package_types�libdnfZtransactionZlistToCompsPackageTyper3���Z_environment_installr���Z_group_install) r���r8����q�solver�res�typesZ pkg_types�env_idZgroup_idr���r���r���� _mark_install����s���� � zGroupCommand._mark_installc�����������������C���s����t�|�jj|�jjt�jt�jB�t�j�}|�j���}|j|��}|j D�]}t j�|�sNJ��|� |��q:|jD�]}t j�|�stJ��|�|��q`d�S�r,���)r���r'���r(���r-���ra���rb���rc���rd���r���r3���r���r6���Zis_string_typeZ_environment_remover���Z _group_remove)r���r8���ri���rj���rk���rm���Zgrp_idr���r���r����_mark_remove����s���� � zGroupCommand._mark_removec�����������������C���s*���|d�|�j�v�r"|d�|dd���fS�d|fS�)Nr���rG���r���)� _MARK_CMDS)r����extcmdsr���r���r����_mark_subcmd��s����zGroupCommand._mark_subcmdc�����������������C���s��d}t�|�dkr*|d�dkr*d}|�d��|�jjr6d}|s>d�}|��||�\}}dd��}d}|D�]}|jrjq^|d7�}q^|td�|��d}|D�]}|js�q�|d7�}q�|td�|��d}|D�]}|jr�q�|d7�}q�|td �|��d}|D�]}|js�q�|d7�}q�|td �|��dg�fS�)NrG���r���rH���c�����������������S���s���|sd�S�t��d|�|��d�S�)Nz%s %u)rC���r ���)rQ���Znumr���r���r���rU�����s����z'GroupCommand._summary.<locals>._out_grprX���rY���FrZ���r[���)r&���r^���r���rH���rA���rO���r���)r���rE���r=���r?���r@���rU���rS���r���r���r���r����_summary ��sH���� zGroupCommand._summaryc�����������������C���s����|�j�ddtd�d��|����}|j�ddtd�d��|j�ddtd�d��|j�d dtd �d��|j�ddtd�d��|�j�d ddtd��tjd�d�tjdd�����d��|�j�dddtd�d��d�S�)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), {}r����, rG���)�nargs�metavarrv���r����*ZCOMMAND_ARGzargument for group subcommand)�add_argumentr����add_mutually_exclusive_grouprP���r ����_GROUP_SUBCOMMANDSr5���)�parserZ grpparserr���r���r���� set_argparser<��s2��������� �� �zGroupCommand.set_argparserc�����������������C���s����|������|�jj}|�jj}||�jvrBt�td�d�|�j���t j j�|dv�rd|sd|�j j� |���t j j�|�j j}d|_|dv�r�d|_d|_|dkr�d|_d|_nd|_|dvr�t�|�j��|dv�r�t�|�j|�j ��d�S�) Nz$Invalid groups sub-command, use: %s.rx���)r���r���r���r ���T)r���r���r���r���r���F)r���r���)r���r���r���r���r~���rC���Zcriticalr���r5���r���r#���ZCliErrorZ optparser� print_help�demandsZsack_activationZ root_userZ resolvingZ allow_erasingZavailable_reposr���Z_checkEnabledRepor'���Z_checkGPGKey)r����cmdr���r����r���r���r���� configureP��s0���� �zGroupCommand.configurec�������������� ���C���s���|�j�j}|�j�j}|dkr"|��|�S�|dkr4|��|�S�|dkrF|��|�S�|dkr�|��|�\}}|dkrn|��|�S�|dkszJ��|��|�S�|dk�r4|�j�j r�t |�jjj dg��}nt |�jjj �}d|�_z|�j�|||�jjj�W�S��tjj�y2�}�z<td �}t�||�jjj�|���tj�td ���W�Y�d�}~n d�}~0�0�|dk�rJ|�j�|�S�|dk�r�|D�]2}z|�j�|g��W�n�tjj�y����Y�n0��qXd�S�)Nr���r ���r ���r���r���r���r`���TzNo package %s available.z)Unable to find a mandatory group package.r���)r���r���r���rs���r_���rF���rr���ro���rn���re���rf���r'���r\���rg���r"���Zenv_group_install�strictr���r)���ZMarkingErrorr���rC���r ���rB���ZtermZboldZPackagesNotAvailableErrorZenv_group_upgradeZenv_group_remove�Error)r���r����rq���r���rl���rV���r*����argr���r���r����runo��sJ���� �� zGroupCommand.runc�����������������C���sb���|�j�s d�S�|�jj}|�jj}|j}|�jj������j|d�D�]$}|j � |�}|�||�||���q8d�S�)N)�name) r"���r'���Z_goalr-���Z group_membersZsack�queryr?���ZfiltermZrpmZ get_reasonZ set_reasonZgroup_reason)r���Zgoalr-����names�pkg�reasonr���r���r����run_transaction���s����zGroupCommand.run_transaction)�__name__� __module__�__qualname__�__doc__r���rf����keys�aliasesr���r���r���rp���r~���r���r!���r+���r:���rA���rF���r_���rn���ro���rr���rs����staticmethodr����r����r����r����� __classcell__r���r���r$���r���r ���$���s>����� h / *r ���)Z __future__r���r���Z dnf.compsr���Zdnf.clir���Zdnf.i18nr���r���Zlibdnf.transactionrh���r���Zdnf.exceptionsZdnf.utilZloggingZ getLoggerrC���ZCommandr ���r���r���r���r����<module>���s���