MOON
Server: Apache
System: Linux s5.yayogua.com.py 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: w3com (1005)
PHP: 8.2.32
Disabled: NONE
Upload Files
File: //lib/python3.12/site-packages/dnf/__pycache__/comps.cpython-312.pyc
�

�(f�a���ddlmZddlmZddlmZddlZddlmZddlm	Z	m
Z
ddlmZddlZ
ddlZ
ddlZddlZddlZddlZddlZddlZddlZddlZddlZej0d�Zej4j6Zej4j:Zej4j>Z ej4jBZ"eeze ze"zZ#d	�Z$d
�Z%d�Z&d�Z'		d$d
�Z(Gd�de)�Z*Gd�de)�Z+Gd�de)�Z,Gd�de,�Z-Gd�de,�Z.Gd�de,�Z/Gd�de,�Z0Gd�de)�Z1Gd�de)�Z2Gd �d!e)�Z3Gd"�d#e)�Z4y)%�)�absolute_import)�print_function)�unicode_literalsN)�
CompsError)�_�ucd)�reduce�dnfc��|j|j|jf}ttj
t
t|��S�N)�
categories�groups�environmentsr	�operator�__add__�map�len)�comps�collectionss  �./usr/lib/python3.12/site-packages/dnf/comps.py�_internal_comps_lengthr6s8���#�#�U�\�\�5�3E�3E�F�K��(�"�"�C��[�$9�:�:�c�F�|�ytjj|�Sr)r
�util�first)�seqs r�_first_if_iterabler;s��
�{���8�8�>�>�#��rc���tjj|�}|D�chc]#}|j|k(s|j|k(s�"|��%}}|r|S|r3tjtj|��j}nBtjtj|�t
j��j}t�}|D]�}||j�r|j|��'|j�$||j�r|j|��W|j��d||j�s�w|j|���|Scc}w)z;Return items from sqn matching either exactly or glob-wise.)�flags)r
�i18nr�name�id�re�compile�fnmatch�	translate�match�I�set�add�ui_name)�pattern�case_sensitive�sqn�g�exactr'�rets       r�_by_patternr2As���h�h�l�l�7�#�G��D��1�q�v�v��0�A�D�D�G�O�Q��E�D������
�
�7�,�,�W�5�6�<�<���
�
�7�,�,�W�5�R�T�T�B�H�H��

�%�C�
������;��G�G�A�J�
�V�V�
�E�!�&�&�M��G�G�A�J�
�Y�Y�
"�u�Q�Y�Y�'7��G�G�A�J�
��J��%
Es�#E!�E!c�R�|j�tjS|jSr)�
display_order�sys�maxsize)�groups r�_fn_display_orderr8Zs"���-�-�5�3�;�;�N�5�;N�;N�Nrc��||||||�S)aF
    Installs a group or an environment identified by grp_or_env_id.
    This method is preserved for API compatibility. It used to catch an
    exception thrown when a gorup or env was already installed, which is no
    longer thrown.
    `install_fnc` has to be Solver._group_install or
    Solver._environment_install.
    �)�install_fnc�
grp_or_env_id�types�exclude�strict�exclude_groupss      r�install_or_skiprA^s���}�e�W�f�n�M�Mrc�,�eZdZdZd�Zed��Zd�Zy)�_Langsz6Get all usable abbreviations for the current language.c� �d|_d|_yr)�last_locale�cache��selfs r�__init__z_Langs.__init__os�������
rc�v�tjtj�}|dk(rydj|�S)N)NN�C�.)�locale�	getlocale�LC_MESSAGES�join)�lcls r�_dotted_locale_strz_Langs._dotted_locale_strss1�����v�1�1�2���,����x�x��}�rc�T�|j�}|j|k(r|jSg|_|g}|dk7r|jd�|D]F}t	j
|�D],}||jvs�|jj|��.�H||_|jS)NrK)rRrErF�append�gettext�_expand_lang)rH�current_locale�locales�l�nlangs     r�getz
_Langs.getzs����0�0�2�����~�-��:�:����
�!�"���S� ��N�N�3���A� �-�-�a�0����
�
�*��J�J�%�%�e�,�1��
*����z�z�rN)�__name__�
__module__�__qualname__�__doc__rI�staticmethodrRr[r:rrrCrCks#��@������rrCc�4�eZdZdZdZdZdZd�Zd�Zd�Z	d�Z
y)�
CompsQuery��c�<�||_||_||_||_yr)r�history�kinds�status)rHrrfrgrhs     rrIzCompsQuery.__init__�s����
������
���rc�L�t�}|j|jzr)|j|D�chc]}|j��c}�|j|j
zr9|D]4}|j
�}|s�|j|j���6|Scc}wr)	r)rh�	AVAILABLE�updater"�	INSTALLED�getCompsGroupItemr*�
getGroupId)rH�	available�	installed�result�ir7s      r�_get_groupszCompsQuery._get_groups�s�������;�;����'��M�M��3��A�1�4�4��3�4��;�;����'����+�+�-�����
�
�5�+�+�-�.�	�
�
��4��B!c�L�t�}|j|jzr)|j|D�chc]}|j��c}�|j|j
zr9|D]4}|j
�}|s�|j|j���6|Scc}wr)	r)rhrjrkr"rl�getCompsEnvironmentItemr*�getEnvironmentId)rHrorprqrr�envs      r�	_get_envszCompsQuery._get_envs�s�������;�;����'��M�M��3��A�1�4�4��3�4��;�;����'����/�/�1�����
�
�3�/�/�1�2�	�
�
��4rtc���tjj�}g|_g|_|D�]�}gx}}|j
|jzrm|jj|�}|jjj|�}|j||�}|jj|�|j
|jzrm|jj|�}|jj j|�}|j#||�}|jj|�|r��|r��|j$|j&k(r"t)d�t+|�z}t/|��|j$|j,k(r"t)d�t+|�z}t/|��t)d�t+|�z}t/|��|S)N�&Module or Group '%s' is not installed.�&Module or Group '%s' is not available.z$Module or Group '%s' does not exist.)r
r�Bunchrrrg�ENVIRONMENTSr�environments_by_patternrfrx�search_by_patternry�extend�GROUPS�groups_by_patternr7rsrhrlrrrjr)	rH�patterns�res�pat�envs�grpsrorp�msgs	         rr[zCompsQuery.get�s����h�h�n�n��������
��C���D�4��z�z�D�-�-�-� �J�J�>�>�s�C�	� �L�L�,�,�>�>�s�C�	��~�~�i��;��� � �'�'��-��z�z�D�K�K�'� �J�J�8�8��=�	� �L�L�.�.�@�@��E�	��'�'�	�9�=���
�
�!�!�$�'����;�;�$�.�.�0��D�E��C��P�C�
!��o�%�	�[�[�D�N�N�2��D�E��C��P�C�!��o�%��B�C�c�#�h�N�C� ��o�%�'�(�
rN)r\r]r^rjrlr~r�rIrsryr[r:rrrbrb�s*���I��I��L�
�F��
�
�rrbc�>�eZdZd�Zd�Zd�Zed��Zed��Zy)�	Forwarderc� �||_||_yr)�_i�_langs)rH�iobj�langss   rrIzForwarder.__init__�s�������rc�.�t|j|�Sr)�getattrr�)rHr!s  r�__getattr__zForwarder.__getattr__�s���t�w�w��%�%rc�r�|jj�D]}|j|�}|��|cS|Sr)r�r[)rH�default�dctrY�ts     r�_ui_textzForwarder._ui_text�s5�������"�A�����
�A��}���#��rc�N�|j|j|j�Sr)r��desc�desc_by_langrGs r�ui_descriptionzForwarder.ui_description�����}�}�T�Y�Y��(9�(9�:�:rc�N�|j|j|j�Sr)r�r!�name_by_langrGs rr+zForwarder.ui_name�r�rN)	r\r]r^rIr�r��propertyr�r+r:rrr�r��s9���&���;��;��;��;rr�c�:��eZdZ�fd�Zd�Zd�Zed��Z�xZS)�Categoryc�<��tt|�||�||_yr)�superr�rI�_group_factory�rHr�r��
group_factory�	__class__s    �rrIzCategory.__init__�s���
�h��&�t�U�3�+��rc��|j|j�}|�&d}t||j|jfz��|S)Nz no group '%s' from category '%s'�r�r!�
ValueErrorr"�rH�grp_id�grpr�s    r�_build_groupzCategory._build_group�sB���!�!�&�+�+�.���;�4�C��S�F�K�K����#9�9�:�:��
rc#�TK�|jD]}|j|����y�wr)�	group_idsr�)rHr�s  r�groups_iterzCategory.groups_iter�s%�����n�n�F��#�#�F�+�+�%�s�&(c�4�t|j��Sr)�listr�rGs rrzCategory.groups�s���D�$�$�&�'�'r)	r\r]r^rIr�r�r�r�
__classcell__�r�s@rr�r��s&���,��,��(��(rr�c�P��eZdZ�fd�Zd�Zd�Zd�Zed��Zed��Z	�xZ
S)�Environmentc�<��tt|�||�||_yr)r�r�rIr�r�s    �rrIzEnvironment.__init__�s���
�k�4�)�$��6�+��rc��|j|j�}|�&d}t||j|jfz��|S)Nz#no group '%s' from environment '%s'r�r�s    rr�zEnvironment._build_groupsB���!�!�&�+�+�.���;�7�C��S�F�K�K����#9�9�:�:��
rc��g}|D]#}	|j|j|���%|S#t$r}tj	|�Yd}~�Kd}~wwxYwr)rTr�r��logger�error)rH�idsr�gi�es     r�
_build_groupszEnvironment._build_groupssS�����B�
 ��
�
�d�/�/��3�4���
���
 ����Q����
 �s� -�	A�A�Ac#��K�tj|j|j�D]}	|j	|����y#t
$r}tj|�Yd}~�=d}~wwxYw�wr)�	itertools�chainr��
option_idsr�r�r�r�)rHr�r�s   rr�zEnvironment.groups_itersX�����o�o�d�n�n�d�o�o�F�F�
 ��'�'��/�/�G���
 ����Q����
 �s.�.A2�A�A2�	A/�A*�%A2�*A/�/A2c�8�|j|j�Sr)r�r�rGs r�mandatory_groupszEnvironment.mandatory_groupss���!�!�$�.�.�1�1rc�8�|j|j�Sr)r�r�rGs r�optional_groupszEnvironment.optional_groupss���!�!�$�/�/�2�2r)r\r]r^rIr�r�r�r�r�r�r�r�s@rr�r��s?���,��� ��2��2��3��3rr�c�z��eZdZ�fd�Zd�Zed��Zed��Zd�Zed��Z	ed��Z
ed��Z�xZS)	�Groupc�^��tt|�||�||_|j|_yr)r�r�rI�_pkg_factoryr��selected)rHr�r��pkg_factoryr�s    �rrIzGroup.__init__"s'���
�e�T�#�D�%�0�'�������
rc�`�|jD�cgc]}|j|k(s�|��c}Scc}wr)�packages�type)rH�type_�pkgs   r�_packages_of_typezGroup._packages_of_type's)��#�}�}�B�}�����E�0A��}�B�B��Bs�+�+c�@�|jtj�Sr)r��libcomps�PACKAGE_TYPE_CONDITIONALrGs r�conditional_packageszGroup.conditional_packages*s���%�%�h�&G�&G�H�Hrc�@�|jtj�Sr)r�r��PACKAGE_TYPE_DEFAULTrGs r�default_packageszGroup.default_packages.s���%�%�h�&C�&C�D�Drc�B�t|j|j�Sr)rr�r�rGs r�
packages_iterzGroup.packages_iter2s���4�$�$�d�m�m�4�4rc�@�|jtj�Sr)r�r��PACKAGE_TYPE_MANDATORYrGs r�mandatory_packageszGroup.mandatory_packages6s���%�%�h�&E�&E�F�Frc�@�|jtj�Sr)r�r��PACKAGE_TYPE_OPTIONALrGs r�optional_packageszGroup.optional_packages:s���%�%�h�&D�&D�E�Erc�.�|jjSr)r��uservisiblerGs r�visiblez
Group.visible>s���w�w�"�"�"r)
r\r]r^rIr�r�r�r�r�r�r�r�r�r�s@rr�r� s���%�
C��I��I��E��E�5��G��G��F��F��#��#rr�c��eZdZdZej
eejeeje
ejeiZ
d�Zed��Zed��Zy)�Packagez#Represents comps package data. :apic��||_yr)r��rH�ipkgs  rrIzPackage.__init__Ls	����rc�.�|jjSr)r�r!rGs rr!zPackage.nameOs���w�w�|�|�rc�4�|j|jSr)�_OPT_MAPr�rGs r�option_typezPackage.option_typeTs���}�}�T�Y�Y�'�'rN)r\r]r^r_r�r��CONDITIONALr��DEFAULTr��	MANDATORYr��OPTIONALr�rIr�r!r�r:rrr�r�Bsg��-�	�)�)�K��%�%�G��'�'�I��&�&�H�	�H�������(��(rr�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	e
d��Zdd	�Zdd
�Z
d�Ze
d��Zd
�Zdd�Zdd�Zd�Ze
d��Zd�Zdd�Zdd�Zd�Zy)�Compsc�T�tj�|_t�|_yr)r�r�r�rCr�rGs rrIzComps.__init__\s���.�.�"����h��rc�,�t|j�Sr)rr�rGs r�__len__z
Comps.__len__`s��%�d�g�g�.�.rc�D�t||j|j�Sr)r�r��_group_by_id)rH�	icategorys  r�_build_categoryzComps._build_categorycs���	�4�;�;��0A�0A�B�Brc�D�t||j|j�Sr)r�r�r�)rH�ienvironments  r�_build_environmentzComps._build_environmentfs���<����d�6G�6G�H�Hrc�D�t||j|j�Sr)r�r��_build_package)rH�igroups  rr�zComps._build_groupis���V�T�[�[�$�*=�*=�>�>rc��t|�Sr)r�r�s  rrzComps._build_packagels���t�}�rc��tj�}	|j|�|xj|z
c_y#tj$r+|j	�}tdj
|���wxYw)N� )r�r��	fromxml_f�ParserError�get_last_errorsrrPr�)rH�fnr�errorss    r�_add_from_xml_filenamezComps._add_from_xml_filenameosh����� ��	/��O�O�B��	
���5�����#�#�	/��*�*�,�F��S�X�X�f�-�.�.�	/�s	�=�>A;c�4�t|j��Sr)r��categories_iterrGs rr
zComps.categoriesxs���D�(�(�*�+�+rc�~�tjj|�sJ�|j||�}t	|�Sr)r
r�is_string_type�categories_by_patternr)rHr,r-�catss    r�category_by_patternzComps.category_by_pattern}s7���x�x�&�&�w�/�/�/��)�)�'�>�B��!�$�'�'rc�r�tjj|�sJ�t|||j�Sr)r
rrr2r
)rHr,r-s   rrzComps.categories_by_pattern�s-���x�x�&�&�w�/�/�/��7�N�D�O�O�D�Drc�B���fd��jjD�S)Nc3�@�K�|]}�j|����y�wr)r�)�.0�crHs  �r�	<genexpr>z(Comps.categories_iter.<locals>.<genexpr>�s�����D�1C�A��$�$�Q�'�1C���)r�r
rGs`rrzComps.categories_iter�s���D����1C�1C�D�Drc�@�t|j�t��S�N)�key)�sorted�environments_iterr8rGs rrzComps.environments�s���d�,�,�.�4E�F�Frc���tjj��sJ�tjj�fd�|j	�D��S)Nc3�B�K�|]}|j�k(s�|���y�wr�r")rr/r"s  �rrz+Comps._environment_by_id.<locals>.<genexpr>�s�����P�)A�A�Q�T�T�R�Z�a�)A����)r
rrrr)rHr"s `r�_environment_by_idzComps._environment_by_id�s=����x�x�&�&�r�*�*�*��x�x�~�~�P��)?�)?�)A�P�P�Prc�~�tjj|�sJ�|j||�}t	|�Sr)r
rrrr)rHr,r-r�s    r�environment_by_patternzComps.environment_by_pattern�s7���x�x�&�&�w�/�/�/��+�+�G�^�D��!�$�'�'rc��tjj|�sJ�t|j	��}t|||�}t
|t��Sr)r
rrr�rr2rr8)rHr,r-r��
found_envss     rrzComps.environments_by_pattern�sI���x�x�&�&�w�/�/�/��D�*�*�,�-�� ��.�$�?�
��j�&7�8�8rc�B���fd��jjD�S)Nc3�@�K�|]}�j|����y�wr)r)rr�rHs  �rrz*Comps.environments_iter.<locals>.<genexpr>�s�����I�4H�q��'�'��*�4H�r)r�rrGs`rrzComps.environments_iter�s���I�D�G�G�4H�4H�I�Irc�@�t|j�t��Sr)rr�r8rGs rrzComps.groups�s���d�&�&�(�.?�@�@rc���tjj��sJ�tjj�fd�|j	�D��S)Nc3�B�K�|]}|j�k(s�|���y�wrr")rr/�id_s  �rrz%Comps._group_by_id.<locals>.<genexpr>�s�����K�);�A�q�t�t�s�{�a�);�r#)r
rrrr�)rHr.s `rr�zComps._group_by_id�s=����x�x�&�&�s�+�+�+��x�x�~�~�K��)9�)9�);�K�K�Krc�~�tjj|�sJ�|j||�}t	|�Sr)r
rrr�r�rHr,r-r�s    r�group_by_patternzComps.group_by_pattern�s7���x�x�&�&�w�/�/�/��%�%�g�~�>��!�$�'�'rc��tjj|�sJ�t||t	|j���}t
|t��Sr)r
rrr2r�r�rr8r0s    rr�zComps.groups_by_pattern�sD���x�x�&�&�w�/�/�/��7�N�D��9I�9I�9K�4L�M���d� 1�2�2rc�B���fd��jjD�S)Nc3�@�K�|]}�j|����y�wr)r�)rr/rHs  �rrz$Comps.groups_iter.<locals>.<genexpr>�s�����=�n���!�!�!�$�n�r)r�rrGs`rr�zComps.groups_iter�s���=�d�g�g�n�n�=�=rN)F)r\r]r^rIr�r�rr�rrr�r
rrrrr$r&rrrr�r1r�r�r:rrr�r�Ys����/�C�I�?����,��,�(�E�
E��G��G�Q�(�9�J��A��A�L�(�3�>rr�c�$�eZdZd�Zd�Zd�Zd�Zy)�
CompsTransPkgc��tjj|�rd|_||_d|_d|_yt|tjj�rJd|_|j�|_|j�tjz|_d|_y|j|_|j|_|jtjz|_|j|_y)NFT)r
rr�basearchonlyr!�optional�requires�
isinstance�libdnf�transaction�CompsGroupPackage�getName�getPackageTyper�r�r�)rH�pkg_or_names  rrIzCompsTransPkg.__init__�s����8�8�"�"�;�/� %�D��#�D�I� �D�M� �D�M�
��V�%7�%7�%I�%I�
J�!&�D��#�+�+�-�D�I�'�6�6�8�8�;Y�;Y�Y�D�M� �D�M�!,� 8� 8�D��#�(�(�D�I�'�,�,�x�/M�/M�M�D�M�'�0�0�D�Mrc���|j|jk(xrO|j|jk(xr4|j|jk(xr|j|jk(Sr)r!r8r9r:�rH�others  r�__eq__zCompsTransPkg.__eq__�s\���	�	�U�Z�Z�'�0��!�!�U�%7�%7�7�0��
�
����/�0��
�
����/�	1rc��|jSr�r!rGs r�__str__zCompsTransPkg.__str__�s���y�y�rc�p�t|j|j|j|jf�Sr)�hashr!r8r9r:rGs r�__hash__zCompsTransPkg.__hash__�s1���T�Y�Y��%�%��M�M��M�M�#�$�	$rN)r\r]r^rIrErHrKr:rrr6r6�s��1�01��$rr6c��eZdZd�Zd�Zd�Zed��Zed��Z	e	jd��Z	ed��Zejd��Zed	��Zejd
��Zed��Z
e
jd��Z
y
)�TransactionBunchc�|�t�|_t�|_t�|_t�|_yr)r)�_install�_install_opt�_remove�_upgraderGs rrIzTransactionBunch.__init__�s'�����
��E����u������
rc�n�|jj|j�|jj|j�|jj|j�|j|jz|jz
|jz
|jz
|_|Sr)rOrkrPrRrQrCs  r�__iadd__zTransactionBunch.__iadd__�s����
�
���U�^�^�,���� � ��!3�!3�4��
�
���U�^�^�,����u�}�}�4��M�M�� �-�-�.�04�
�
�>����rc��t|j�t|j�zt|j�zt|j�zSr)r�install�install_opt�upgrade�removerGs rr�zTransactionBunch.__len__�s@���4�<�<� �3�t�'7�'7�#8�8�3�t�|�|�;L�L�s�SW�S^�S^�O_�_�_rc��|D]>}t|t�r|j|��%|jt|���@yr)r;r6r*)�param�val�items   r�
_set_valuezTransactionBunch._set_value�s2���D��$�
�.��	�	�$���	�	�-��-�.�	rc��|jS)z�
        Packages to be installed with strict=True - transaction will
        fail if they cannot be installed due to dependency errors etc.
        )rOrGs rrVzTransactionBunch.installs���}�}�rc�<�|j|j|�yr)r^rO�rH�values  rrVzTransactionBunch.install	�������
�
�u�-rc��|jS)zw
        Packages to be installed with strict=False - they will be
        skipped if they cannot be installed
        )rPrGs rrWzTransactionBunch.install_opt
s��� � � rc�<�|j|j|�yr)r^rPras  rrWzTransactionBunch.install_opts������)�)�5�1rc��|jSr)rQrGs rrYzTransactionBunch.removes���|�|�rc�<�|j|j|�yr)r^rQras  rrYzTransactionBunch.removes��������e�,rc��|jSr)rRrGs rrXzTransactionBunch.upgrade!s���}�}�rc�<�|j|j|�yr)r^rRras  rrXzTransactionBunch.upgrade%rcrN)r\r]r^rIrTr�r`r^r�rV�setterrWrYrXr:rrrMrM�s�����`��/��/�����
�^�^�.��.��!��!����2��2������]�]�-��-�����
�^�^�.��.rrMc��eZdZd�Zed��Zed��Zegfd��Zd�Zd�Z	dd�Z
d	�Zd
�Zdd�Z
d�Zd
�Zd�Zy)�Solverc�.�||_||_||_yr)rfr�
_reason_fn)rHrfr�	reason_fns    rrIzSolver.__init__+s�������
�#��rc�T�|jD�chc]}|j��c}Scc}wr)r�r")rxr�s  r�_mandatory_group_setzSolver._mandatory_group_set0s&��"%�"6�"6�7�"6�3����"6�7�7��7s�%c��|j|jz|jz|jzD�chc]}|j	���c}Scc}wr)r�r�r�r�r?)r�r�s  r�_full_package_setzSolver._full_package_set4s^��),�)?�)?��$�$�*%�'*�'<�'<�*=��(�(�*)�*�*)�#����
�*)�*�	*��*s�Ac�v���fd�}t�}|tzr!|j||j��|tzr!|j||j
��|tzr!|j||j��|tzr!|j||j��|S)Nc�J��|D�cgc]}|j�vr|��c}Scc}wrrG)�pkgsr�r>s  �r�filterz$Solver._pkgs_of_type.<locals>.filter<s2���#'�0�4�C��x�x�w�.��4�0�
0��0s� )
r)r�rkr�r�r�r�r�r�r�)r7�	pkg_typesr>rwrvs  `  r�
_pkgs_of_typezSolver._pkgs_of_type:s����	0��u���y� ��K�K��u�7�7�8�9��w���K�K��u�5�5�6�7��x���K�K��u�6�6�7�8��{�"��K�K��u�9�9�:�;��rc��tjj|�sJ�|jjj|�Sr)r
rrrfr7�is_removable_pkg)rH�pkg_names  r�_removable_pkgzSolver._removable_pkgKs5���x�x�&�&�x�0�0�0��|�|�!�!�2�2�8�<�<rc��tjj|�sJ�|jjj|�Sr)r
rrrfrx�is_removable_group)rH�group_ids  r�_removable_grpzSolver._removable_grpOs5���x�x�&�&�x�0�0�0��|�|���2�2�8�<�<rNc���tjj|�sJ�|jj	|�}|s tt
d�t|�z��|jjj||j|j|�}|jjj|�t�}|jD]U}	|r|	j |vr�||j#|	j |||�z
}|j%|	j dt&��W|j(D]4}	|r|	j |vr�|j%|	j dt*��6|S)Nz#Environment id '%s' does not exist.TF)r
rrrr$rrrrfrx�newr!r+rVrMr�r"�_group_install�addGroupr�r�r�)
rH�env_idrxr>r?r@�	comps_env�swdb_env�trans�comps_groups
          r�_environment_installzSolver._environment_installSs,���x�x�&�&�v�.�.�.��J�J�1�1�&�9�	���Q�D�E��F��S�T�T��<�<�#�#�'�'��	���	�@Q�@Q�S\�]������� � ��*� �"��$�5�5�K��+�.�.�N�"B���T�(�(�����G�V�T�T�E����k�n�n�d�I�>�	6�%�4�4�K��+�.�.�N�"B�����k�n�n�e�X�>�5�
�rc���tjj|�dusJ�|jjj|�}|st
td�|z��|jjj|�t�}t|j�D�cgc]}|j���c}�}|D](}|j|�s�||j|�z
}�*|Scc}w)NTz%Environment id '%s' is not installed.)r
rrrfrxr[rrrYrMr)�	getGroupsrnr��
_group_remove)rHr�r�r�rrr�r�s       r�_environment_removezSolver._environment_removejs����x�x�&�&�v�.�$�6�6�6��<�<�#�#�'�'��/����Q�F�G�&�P�Q�Q���������)� �"����1C�1C�1E�F�1E�A�����1E�F�G�	�!�H��&�&�x�0���T�'�'��1�1�E�"����Gs�(C5c��tjj|�sJ�|jj	|�}|j
jj|�}|sttd�|z��|sttd�|z��t|j�D�cgc]}|j���c}�}|j�}|j
jj|j|j |j"|�}t%�}|j&D]�}|j|vrN|j
j(j|j�r>||j+|j�z
}n||j-|j|�z
}|j/|jdt0���|j2D]~}|j|vrM|j
j(j|j�r||j+|j�z
}|j/|jdt4���|j
jj7|�|Scc}w)Nz"Environment '%s' is not installed.z"Environment '%s' is not available.TF)r
rrrr$rfrxr[rrr)r�rn�getPackageTypesr�r"r!r+rMr�r7�_group_upgrader�r�r�r�r�rX)	rHr�r�r�rr�old_setrxr�r�s	         r�_environment_upgradezSolver._environment_upgradezs����x�x�&�&�v�.�.�.��J�J�1�1�&�9�	��<�<�#�#�'�'��/����Q�C�D�v�M�N�N���Q�C�D�v�M�N�N��x�/A�/A�/C�D�/C�!�q�|�|�~�/C�D�E���,�,�.�	��<�<�#�#�'�'�	���i�n�n�i�FW�FW�Yb�c�� �"��$�5�5�K��~�~��(��<�<�%�%�)�)�+�.�.�9��T�0�0����@�@�E���,�,�[�^�^�Y�G�G�����k�n�n�d�I�>�6�%�4�4�K��~�~��(�T�\�\�-?�-?�-C�-C�K�N�N�-S���,�,�[�^�^�<�<�����k�n�n�e�X�>�	5�	
����� � ��*����1Es�+J
c�R�tjj|�sJ�|jj	|�}|s tt
d�t|�z��|jjj||j|j|�}|j�D]l}|jjj|j�dk7}	|j!|j|	t"j$|j&��n|jjj)|�t+�}
|r/|
j(j-|j/||g���|
S|
j0j-|j/||g���|
S)NzGroup id '%s' does not exist.r:)r>)r
rrrr�rrrrfr7r�r!r+r��swdb�getPackageCompsGroups�
addPackager�r�r�rVrMrkryrW)rHr�rxr>r?r@r��
swdb_groupr��
pkg_installedr�s           rr�zSolver._group_install�sS���x�x�&�&�x�0�0�0��j�j�-�-�h�7����Q�>�?�#�h�-�O�P�P��\�\�'�'�+�+�H�k�6F�6F��H[�H[�]f�g�
��,�,�.�C� �L�L�-�-�C�C�C�H�H�M�QS�S�M��!�!�#�(�(�M�7�;K�;K�C�H�H�;U�V�/�	
�����"�"�:�.� �"����M�M� � ��!3�!3�K��TV�!3�!W�X���
���$�$�T�%7�%7��Y�XZ�%7�%[�\��rc��tjj|�sJ�|jjj|�}|st
td�|z��|jjj|�t�}|j�D�chc]$}|j|j��s�#|��&c}|_|Scc}w)Nr{)
r
rrrfr7r[rrrYrM�getPackagesr}r?)rHr�r�r�r�s     rr�zSolver._group_remove�s����x�x�&�&�x�0�0�0��\�\�'�'�+�+�H�5�
���Q�G�H�8�S�T�T������!�!�*�-� �"��'1�'=�'=�'?�f�'?��4�CV�CV�WZ�Wb�Wb�Wd�Ce��'?�f������gs�!$C�Cc	��tjj|�sJ�|jj	|�}|j
jj|�}g}|s'|r|jn|}ttd�|z��|sttd�|z��|j�}t|j�D�cgc]}|j���c}�}|j|||�}	|j
jj!||j"|j|�}|j%�D]l}
|j
j&j)|
j"�dk7}|j+|
j"|t,j.|
j0��n|j
jj3|�t5�}|	D�
chc]}
|
j"|vs�|
��c}
|_|D�
�
chc] }
|
|	D�
cgc]}
|
j"��c}
vr|
��"c}
}
|_|	D�
chc]}
|
j"|vs�|
��c}
|_|Scc}wcc}
wcc}
wcc}
}
wcc}
w)Nr{r|r:)r
rrrr�rfr7r[r+rrr�r)r�r?ryr�r!r�r�r�r�r�r�r�rXrMrVrY)rHr�r�r�r>�argumentrxrrr��new_setr�r�r�r!s              rr�zSolver._group_upgrade�s ���x�x�&�&�x�0�0�0��j�j�-�-�h�7���\�\�'�'�+�+�H�5�
����.9�{�*�*�x�H��Q�G�H�8�S�T�T���Q�G�H�8�S�T�T��.�.�0�	��J�,B�,B�,D�E�,D�q�q�y�y�{�,D�E�F���$�$�[�)�W�E���\�\�'�'�+�+�H�k�6F�6F��H[�H[�]f�g�
��,�,�.�C� �L�L�-�-�C�C�C�H�H�M�QS�S�M��!�!�#�(�(�M�7�;K�;K�C�H�H�;U�V�/�	
�����"�"�:�.� �"��(/�K���3�8�8�7�3J���K��
�)0�F����G�'D�G�S����G�'D�D���F���(/�G���3�8�8�w�3F���G��
����F��L��'D��F��Gs6�
I%�,I*�I*�
I4�I/�.I4�I:�I:�/I4c��|jjD]�}|jj|�}|js�+t	|j
�t	|j�z
}|jj�j�j|��}|D]}|jj|����y)NrG)�	persistorrr7rpr)�	full_list�pkg_exclude�sack�query�filterm�_goalrV)rH�baser7�p_grp�installed_pkg_names�installed_pkgsr�s       r�'_exclude_packages_from_installed_groupsz.Solver._exclude_packages_from_installed_groups�s����^�^�*�*�E��N�N�(�(��/�E��������(�3�u�/@�/@�+A�A�$�!%�����!2�!<�!<�!>�!F�!F�L_�!F�!`��)�C��J�J�&�&�s�+�*�
+r�NTN)r\r]r^rIr`rqrsryr}r�r�r�r�r�r�r�r�r:rrrlrl*st��$�
�8��8��*��*�
�02���� =�=��.� !�F�(��:,rrlr�)5�
__future__rrr�libdnf.transactionr<�dnf.exceptionsr�dnf.i18nrr�	functoolsr	r
�dnf.utilr%rUr�r�rM�loggingrr#r5�	getLoggerr�r=�CompsPackageType_CONDITIONALr��CompsPackageType_DEFAULTr��CompsPackageType_MANDATORYr��CompsPackageType_OPTIONALr��	ALL_TYPESrrr2r8rA�objectrCrbr�r�r�r�r�r�r6rMrlr:rr�<module>r�s_��*'�%�'��%���������
���	�
�	��	�	�5�	!��� � �=�=��� � �9�9��� � �;�;�	�� � �:�:���'�!�I�-��8�	�;�
��2O�@D�04�
N��V��B>��>�B;��;�.(�y�(�*%3�)�%3�N #�I� #�D(�i�(�.d>�F�d>�L&$�F�&$�P@.�v�@.�Fv,�V�v,r