Edit File: module_base.cpython-36.opt-1.pyc
3 �ft`��������������������@���s����d�dl�mZ�d�dlZd�dlZd�dlZd�dlZd�dlZd�dl m Z �d�dlmZ�d�dl mZmZmZ�d�dlZejjjZejjjZejjjZejjjZed�Zed�Zdd ��ZG�d d��de�Z dd ��Z!dS�)�����)�OrderedDictN)�EnableMultipleStreamsException)�logger)�_�P_�ucdz6 Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalledz@ Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled, [a]ctivec�������������C���s���|�j���S�)N)�getName)�profile��r ����!/usr/lib/python3.6/module_base.py�_profile_comparison_key'���s����r���c���������������@���s��e�Zd�Zdd��Zdd��Zdd��ZdBdd �ZdCd d�Zdd ��Zdd��Z dd��Z dd��Zdd��Zdd��Z dDdd�Zdd��Zdd��Zdd��Zd d!��Zd"d#��ZdEd%d&�Zd'd(��Zd)d*��Zd+d,��ZdFd-d.�Zd/d0��Zed1d2���Zd3d4��Zd5d6��Zd7d8��Zd9d:��Zd;d<��Z d=d>��Z!d?d@��Z"dAS�)G� ModuleBasec�������������C���s ���||�_�d�S�)N)�base)�selfr���r ���r ���r����__init__.���s����zModuleBase.__init__c������� ������C���sn���|�j�|�\}}}}x8|j��D�],\}\}}|jrtjtd�j|j|j���qW�|sX|sX|rjtj j |||d��d�S�)Nz%Ignoring unnecessary profile: '{}/{}')�no_match_group_specs�error_group_specs�module_depsolv_errors)�!_resolve_specs_enable_update_sack�itemsr ���r����infor����format�name�dnf� exceptions� MarkingErrors) r����module_specs�no_match_specs�error_specs� solver_errors�module_dicts�spec�nsvcap�module_dictr ���r ���r����enable2���s����zModuleBase.enablec�������������C���s,���|�j�|t�\}}|s|r(tjj||d��d�S�)N)r���r���)�_modules_reset_or_disable�STATE_DISABLEDr���r���r���)r���r���r���r���r ���r ���r����disable?���s����zModuleBase.disableTc���������� ������s�����j�|�\}}}}tj}i�}t��} d} �xt|j��D��]f\}\}} �xV| j��D��]H\}}�x<|j��D��].\}}��fdd�|D��}|s�tjtd�j|||���|j |��qbg�}��j |�}|j��|kr�td�}tj|j|j ��|���d} |j�rd|j|j|j���|�s(|j��}|�r>djtdd��|D����}td �j||||�}ntd �j|�}tj|��|j |��qbnĈ�jjj||�}|�s�|j��}|�r�djtdd��|D����}td�j|||�}ntd �j||�}tj|��|j |��xNt|�D�]B}|j|�}|�stjtd�j|||���|j |��|j|���q�W�xJ|D�]B}��jjj||j����x&|j��D�]}|j|t���j|���qPW��q.W�x|D�]}| j|j�����qzW�qbW�qLW�q2W�| �r�tjjtd�����j | ||�\}}|�r�|j|��|�s�|�s�|�r�tjj!|||d��d�S�)NFc����������������s"���g�|�]}��j�jj|j���r|�qS�r ���)r����_moduleContainer�isModuleActive�getId)�.0�x)r���r ���r���� <listcomp>S���s����z&ModuleBase.install.<locals>.<listcomp>zAAll matches for argument '{0}' in module '{1}:{2}' are not activezDInstalling module '{0}' from Fail-Safe repository {1} is not allowedTz, c�������������S���s���g�|�]}|j����qS�r ���)r���)r+���r ���r ���r ���r���r-���g���s����zKUnable to match profile for argument {}. Available profiles for '{}:{}': {}z'Unable to match profile for argument {}c�������������S���s���g�|�]}|j����qS�r ���)r���)r+���r ���r ���r ���r���r-���w���s����z<No default profiles for module {}:{}. Available profiles: {}zNo profiles for module {}:{}z0Default profile {} not available in module {}:{}z:Installing module from Fail-Safe repository is not allowed)r���r���r���)"r����hawkey�MODULE_FAIL_SAFE_REPO_NAME�setr���r����errorr���r����append�_get_latest� getRepoID�critical� getNameStreamr ����extend�getProfiles�join�sortedr���r(����getDefaultProfiles�installr���� getContent� setdefault�add�update�getArtifactsr���r����Error�_install_profiles_internalr���)r���r����strictr���r���r���r ����fail_safe_repo�install_dict�install_set_artifacts�fail_safe_repo_usedr!���r"���� moduledictr���� streamdict�stream�module_list�install_module_list�profiles� latest_module�msg�available_profiles� profile_namesZprofiles_stringsr ����module_profiles�pkg_name�module�__�profiles_errorsr ���)r���r���r<���F���s����� zModuleBase.installc�������.��� ������s�����j�|�\}}}t��}t��}ddh}x�|j��D�]�\} \} }x�|j��D�]x}xr��jjj|dddd�D�]X} ��jjj| �r`xD| j��D�]8}|j dd�d�}||kr�q||j dd�d�}|j |��q|W�q`W�qDW�q.W���j��}��j|�}|r�|j |��tj}i�}t��}d }��jjj��}�x^|j��D��]P\} \} }�x>|j��D��]0\}}�x"|j��D��]\}}��fd d�|D��}|�s�tjtd�j| ||���|j| ���q@g�}��j|�}|j��|k�r�td �}tj|j|j��|���d}| j�rJ|j |j| j���|�s�|j��}|�r"djtdd��|D����} td�j| ||| �}ntd�j| �}tj|��|j| ���q@nT||k�r�xH||�D�]<}!|j|!�}"|"�s�tjtd�j|!||����q^|j |"���q^W�xJ|D�]B}!��jjj||!j ����x&|!j!��D�]}|j"|t���j | ���q�W��q�W�xh|D�]`} | j��}#|j#|#��xF|#D�]>}|j dd�d�}||k�r.�q|j dd�d�}|j |���qW��q�W��q@W��q*W��qW�|�r|t$j%j&td�����j'|||�\}$}%|%�r�|j |%��t��}&|&j#|��|&j#|����jj(j��j)dd�}'��jj(j��j)ddgd�j*��}(x�|&D�]�}|(j+|d�})|)j,��}*|*�s�q�|)j-��}+|+�sJtjtd�j|���||k�r�|'j.|)�}'�q�|)j/|$�},|,�r^|,})t$j0j1��jj(�}-|-j|)d����jj2j3|-d���q�W���jj4|'��|�s�|�s�|�r�t$j%j5|||d��d�S�)N�nosrc�src���.�����-����r���Fc����������������s"���g�|�]}��j�jj|j���r|�qS�r ���)r���r(���r)���r*���)r+���r,���)r���r ���r���r-�������s����z(ModuleBase.switch_to.<locals>.<listcomp>z8No active matches for argument '{0}' in module '{1}:{2}'zDInstalling module '{0}' from Fail-Safe repository {1} is not allowedTz, c�������������S���s���g�|�]}|j����qS�r ���)r���)r+���r ���r ���r ���r���r-�������s����zKUnable to match profile for argument {}. Available profiles for '{}:{}': {}z'Unable to match profile for argument {}zEInstalled profile '{0}' is not available in module '{1}' stream '{2}'z:Installing module from Fail-Safe repository is not allowed)�empty)� arch__neq)r���z9No packages available to distrosync for package name '{}')�pkg)�select)r���r���r���)6�_resolve_specs_enabler0���r����keysr���r(����queryr)���rA����rsplitr?����_update_sack�_enable_dependenciesr7���r.���r/���ZgetRemovedProfilesr���r1���r���r���r2���r3���r4���r5���r6���r ���r8���r9���r:���Zwarningr<���r���r=���r>���r@���r���r���rB���rC����sack�filterm�apply�filter� installed� available�union�intersection�selector�Selector�_goalZdistupgrade�_remove_if_unneededr���).r���r���rD���r���r���r ���Znew_artifacts_namesZactive_artifacts_namesZ src_archesr!���r"���rI���r���rU����artifact�archrT���r����dependency_error_specrE���rF���rG���rH���Zremoved_profilesrJ���rK���rL���rM���rN���rO���rP���rQ���rR���r ���rS���� artifacts�install_base_queryrW���Z all_namesZremove_query�base_no_source_queryre���rm���rn���Zonly_new_module�sltrr ���)r���r���� switch_to����s����� ( zModuleBase.switch_toc�������������C���s(���|�j�|t�\}}|r$tjj||d��d�S�)N)r���r���)r%���� STATE_UNKNOWNr���r���r���)r���r���r���r���r ���r ���r����reset��s����zModuleBase.resetc����������������s,��g�}t�j}d}��jjj��jddgd�j��}�x�|D��]�}��j|�\}}|sV|j|��q2��fdd�|D��} | s�t j td�j|���q2��j | |d�} t��}�x| j��D��]\}} �x| j��D�]�\}}|j��j||�����j|�}|j��|k�rtd�}t j|j|j��|���d }|j�rH|j|j�}|�s(q�x�|D�]}|j|j�����q.W�q�x |j��D�]}|j|j�����qRW�xD|j��D�]8}t�j|�}x&|jt�jgd �D�]}|j|j���q�W��qtW�q�W�q�W�|�s�t j td�j|���|j|d�}|r2t j!j"��jj�}|j|d ����jj#j$|d��q2W�|�r(t j%j&td���|S�)NFrY���rX���)r`���c����������������s"���g�|�]}��j�jj|j���r|�qS�r ���)r���r(���r)���r*���)r+���r,���)r���r ���r���r-���3��s����z&ModuleBase.upgrade.<locals>.<listcomp>zUnable to resolve argument {}zCUpgrading module '{0}' from Fail-Safe repository {1} is not allowedT)Zformsz&Unable to match profile in argument {})r���)ra���)rb���z9Upgrading module from Fail-Safe repository is not allowed)'r.���r/���r���ri���re���rj���rk����_get_modulesr2���r���r1���r���r����_create_module_dict_and_enabler0���r���r@����)_get_package_name_set_and_remove_profilesr3���r4���r5���r6���r ���r8���r=���rA����SubjectZget_nevra_possibilitiesZ FORM_NEVRAr?���r���rl���r���rq���rr���rs����upgrader���rB���)r���r���r���rE���rH���rz���r!���rL���r"���Zupdate_module_listr#���Zupgrade_package_setr���rJ���rK����module_list_from_dictrO���rP����profiles_setr ���ru����subjZ nevra_objre���r{���r ���)r���r���r����%��sb���� zModuleBase.upgradec�������������C���s����g�}t���}x�|D�]�}|�j|�\}}|s2|j|��q|�j||d�}g�}x>|j��D�]2\} } x(| j��D�]\}}|j|�j||d���q`W�qNW�|s�tjt d�j |���|j|��qW�|r�|�jj j��} |j| �}|r�|�jjj��j��j|d�}|r�|�jj|��|S�)NFTz&Unable to match profile in argument {})r���)r0���r���r2���r����r���r7���r����r���r1���r���r���r@���r���r(���ZgetInstalledPkgNames� differenceri���re���rm���rj���rt���)r���r���r���Zremove_package_setr!���rL���r"���r#���Zremove_packages_namesr���rJ���rK���r����Zkeep_pkg_namesre���r ���r ���r����remove_��s0���� zModuleBase.removec�������������C���s ���|�j�|�S�)N)r���)r����module_specr ���r ���r����get_modules|��s����zModuleBase.get_modulesc������� ������C���s����t�j|�}x�|j��D�]�}|jr$|jnd}|jr4|jnd}d}|jrH|jnd}|jrX|jnd}|jrv|jdkrvt|j�}|�j j j|||||�} | r| |fS�qW�f�d�fS�)NrZ���r\������)r.���r����Znsvcap_possibilitiesr���rK����contextrv����version�strr���r(���re���) r���r����r����r"���r���rK���r����r����rv����modulesr ���r ���r���r������s���� zModuleBase._get_modulesc�������������C���s>���d�}|r:|d�}x(|dd���D�]}|j���|j���kr|}qW�|S�)Nr���r\���)Z getVersionNum)r���rL����latestrU���r ���r ���r���r3������s����zModuleBase._get_latestc������� ������C���sv��i�}x.|D�]&}|j�|j��i��j�|j��g��j|��q W��x:|j��D��],\}}|�jjj|�}t|�dk�rF|t kr�|t kr�|tkr�djt |j��tj|�jjj�d��} td�j|t|�| |d�} t|| ��|t kr�|�jjj|�}n|�jjj|�}|�s�||k�rt|��xjt |j���D�]0}||k�r8|�r|�jjj||���q||=��qW�q@|r@x"|j��D�]}|�jjj||���qTW�q@W�|S�)Nr\���z', ')�keyz�Argument '{argument}' matches {stream_count} streams ('{streams}') of module '{module}', but none of the streams are enabled or default)ZargumentZstream_countZstreamsrU���)r>���r���� getStreamr2���r���r���r(���ZgetModuleState�len� STATE_DEFAULT� STATE_ENABLEDr&���r9���r:���rd���� functools� cmp_to_keyri���Zevr_cmpr���r���r���ZgetEnabledStream�getDefaultStreamr$���) r���rL���r!���r$���� moduleDictrU���Z moduleName� streamDictZmoduleStateZstreams_strrP���rK���r����r ���r ���r���r�������s>���� " z)ModuleBase._create_module_dict_and_enablec������� ������C���s����g�}g�}i�}x�|D�]�}|�j�|�\}}|s4|j|��qy|�j||d�}||f||<�W�q�ttfk r��} �z2|j|��tjt| ���tjtd�j |���W�Y�d�d�} ~ X�qX�qW�|||fS�)NTzUnable to resolve argument {}) r���r2���r�����RuntimeErrorr���r���r1���r���r���r���) r���r���r���� error_specr ���r!���rL���r"���r#����er ���r ���r���rc������s ���� *z ModuleBase._resolve_specs_enablec�������������C���s����dd��|�j�jj��D��}y4|�j�jj|�j�j||�j�jj|�j�jjd|�j�jj d�}W�n4�t jk r~�}�ztj jt|���W�Y�d�d�}~X�nX�|S�)Nc�������������S���s���g�|�]}|j�r|j�qS�r ���)�module_hotfixes�id)r+����ir ���r ���r���r-������s����z+ModuleBase._update_sack.<locals>.<listcomp>T)Zupdate_onlyZdebugsolver)r����repos�iter_enabledri���Zfilter_modulesr(����confZinstallrootZmodule_platform_idZdebug_solverr.���� Exceptionr���r���rB���r���)r���� hot_fix_reposr���r����r ���r ���r���rg������s���� "zModuleBase._update_sackc������� ������C���s����g�}x�|j���D�]�\}\}}x�|j��D�]�}xz|j��D�]n}y|�jjjtjj|���W�q2�tk r��}�z2|j |��t jt|���t jt d�j|���W�Y�d�d�}~X�q2X�q2W�q$W�qW�|S�)NzUnable to resolve argument {})r����valuesr���r(���ZenableDependencyTree�libdnfrU���ZVectorModulePackagePtrr����r2���r���r1���r���r���r���) r���r ���r����r!���r"���r����r����r����r����r ���r ���r���rh������s���� 2zModuleBase._enable_dependenciesc�������������C���s<���|�j�|�\}}}|�j��}|�j|�}|r0|j|��||||fS�)N)rc���rg���rh���r7���)r���r���r���r����r ���r���rw���r ���r ���r���r������s���� z,ModuleBase._resolve_specs_enable_update_sackc�������������C���s����g�}x�|D�]�}|�j�|�\}}|s@tjtd�j|���|j|��q |js^|js^|js^|j s^|j rrtjtd�j|���t��}x|D�]}|j |j����q~W�x8|D�]0} |tkr�|�jjj| ��|tkr�|�jjj| ��q�W�q W�|�j��} || fS�)NzUnable to resolve argument {}zMOnly module name is required. Ignoring unneeded information in argument: '{}')r���r���r1���r���r���r2���rK���r����r����rv���r ���r���r0���r?���r���r}���r���r(���r~���r&���r'���rg���)r���r���Zto_stater���r!���rL���r"���Zmodule_namesrU���r���r���r ���r ���r���r%������s(���� z$ModuleBase._modules_reset_or_disableFc������� ������C���s����t���}|�j|�}t�|�jjj|j����}|s0t���S�|jr�|j|j�}|sLt���S�x�|D�]6}|j��|krR|rz|�jjj||j����|j |j ����qRW�nDxB|D�]:} |r�|�jjj|| ��x |j| �D�]}|j |j ����q�W�q�W�|S�)N)r0���r3���r���r(����getInstalledProfilesr���r ���r8���Z uninstallr@���r=���) r���rL���r"���r����Zpackage_name_setrO���Zinstalled_profiles_stringsr����r ���Zprofile_stringr ���r ���r���r������s*���� z4ModuleBase._get_package_name_set_and_remove_profilesc������� ������C���s����t���}x�|D�]�}|�j|�\}}|s8tjtd�j|���q|jrXtjtd�j|j|j���xl|D�]d}t��}|j ��|d<�x8t |j��td�D�]$}dj dd��|j��D���||j��<�q�W�|j|�j|�j����q^W�qW�dj t |��S�) NzUnable to resolve argument {}z%Ignoring unnecessary profile: '{}/{}'�Name)r����� c�������������S���s���g�|�]}|�qS�r ���r ���)r+���ZpkgNamer ���r ���r���r-���5��s����z1ModuleBase._get_info_profiles.<locals>.<listcomp>z )r0���r���r���r���r���r���r ���r���r����getFullIdentifierr:���r8���r���r9���r=���r���r?����_create_simple_table�toString) r���r����outputr����rL���r"���rU����linesr ���r ���r ���r����_get_info_profiles#��s"���� zModuleBase._get_info_profilesc�������������C���s����|�j�jj|j���}|j��}d}xTt|td�D�]D}|dj|j��|j��|krLdnd�7�}||j��|krj|rjdnd7�}q,W�|d�d��S�) NrZ���)r����z{}{}z [d]z [i], z, r^������)r���r(���r����r���r8���r:���r���r���)r���� modulePackage�default_profiles�enabled_strZinstalled_profilesrQ����profiles_strr ���r ���r ���r����_profile_report_formatter:��s���� z$ModuleBase._profile_report_formatterc�������������C���s���|j���jdd�S�)Nr����� )�strip�replace)r���Zsummaryr ���r ���r����_summary_report_formatterF��s����z$ModuleBase._summary_report_formatterc�������������C���s����d}d}d}|j���|�jjj|j���kr*d}|�jjj|�rJ|s@d}|d7�}n|�jjj|�rh|s`d}|d7�}|r�|�jjj|�r�|s�d}|d7�}|||fS�)NrZ���z [d]r����z[e]z[x]z[a])r����r���r(���r����r���Z isEnabledZ isDisabledr)���)r���r����� markActive�default_strr�����disabled_strr ���r ���r����_module_strs_formatterI��s&���� z!ModuleBase._module_strs_formatterc���������� ���C���s���t���}�x�|D��]�}|�j|�\}}|s<tjtd�j|���q|jr\tjtd�j|j|j����xj|D��]`}|�j|dd�\}}} |�j j j|j��|j ���} |�j|| |�}t��}|j��|d<�|j ��|�|�| �|d<�|j��|d<�|j��|d<�|j��|d <�||d <�dj| �|d<�|j��|d <�|j��|d<�|j��|d<�t���} xV|j��D�]J}xB|j��D�]6}x.|j��D�]"\}}| jdj|dj|�����qXW��qJW��q<W�djt| ��|d<�djt|j����|d<�|j|�j|�j����qdW�qW�djt|��}|�r�|t7�}|S�)NzUnable to resolve argument {}z%Ignoring unnecessary profile: '{}/{}'T)r����r�����StreamZVersionZContextZArchitecture�Profilesr����zDefault profiles�Repo�SummaryZDescriptionz{}:[{}]�,r����ZRequiresZ Artifactsz ) r0���r���r���r���r���r���r ���r���r����r���r(���r;���r���r����r����r���Z getVersionZ getContextZgetArchr9���r4���� getSummaryZgetDescriptionZgetModuleDependenciesZgetRequiresr���r?���r:���rA���r����r�����MODULE_INFO_TABLE_HINT)r���r���r����r����rL���r"���r����r����r����r����r����r����r����Zreq_setZreqZrequire_dictZmod_requirerK���� str_tabler ���r ���r���� _get_info^��sP���� *zModuleBase._get_infoc�������������C���s����t�jj��}|jd��|jd��|jd�}|jd�}|jd��|jd��|j���xL|�j ��D�]@\}}|d�krld}|j ��}|j|�j|��|j|�jt |���qXW�|S�)NTz : r����ZValuer����rZ���)r����� smartcols�TableZenableNoheadingsZsetColumnSeparator� newColumn�setWrapZsetSafecharsZsetNewlineWrapFunctionr����newLine� getColumnCell�setDatar����)r�����table�column_nameZcolumn_valueZ line_name�value�liner ���r ���r���r�������s���� zModuleBase._create_simple_tablec������� ������C���s����t���}xx|D�]p}|�j|�\}}|s8tjtd�j|���q|jrXtjtd�j|j|j���x"|D�]}|j��}|r^|j |��q^W�qW�dj t|��}|S�)NzUnable to resolve argument {}z%Ignoring unnecessary profile: '{}/{}'z )r0���r���r���r���r���r���r ���r���ZgetYamlr?���r9���r:���) r���r���r����r����rL���r"���r����r���Z output_stringr ���r ���r����_get_full_info���s���� zModuleBase._get_full_infoc���������� ���C���s���t���}|�jjj��}|�jjj��jdd�j��}|�jjjtj d�}x6|D�].}t jj|�}|j |j|�jjddd|d��}qBW�|j���x�|D�]�}|j��} | s�q�|j| d�} | r�x�| D�]�}d}g�} x4t|j��td�D�] }|j|j��kr�| j|j����q�W�t��}|j��|d <�d jt| ��|d<�|j��|d<�|j��|d <�|�j|�}|dj|�jjj j!t"|���7�}|dj|j#���7�}|j$|��q�W�q�W�djt|��S�)NT)r_���)�flagsF)Z with_nevraZ with_providesZwith_filenamesre���)�nevra_strictrZ���)r����ZModuler����r����r����r����z{} z{}z )%r0���r���r(����getModulePackagesri���re���rj���rk���r.���ZIGNORE_MODULAR_EXCLUDESr���Zsubjectr����ro���Zget_best_queryrA���rl���r:���r8���r���r���r=���r2���r���r���r����r9���r4���r����r����r���r�����term�boldr����r����r?���)r���Z rpm_specsr����ZmodulePackagesZ baseQueryZgetBestInitQueryr!���r����r����rx���re���ra���Z string_outputrN���r ���r����r����r ���r ���r����_what_provides���s@���� zModuleBase._what_providesc����������������sr��t�jj��}|jt�jjj��|jd��|jd�}|jd�}|jd�}|jd��|jd�}|jd����jj j spd|_x�|D�]�}x�|D�]�}t|�dkr�|d�} n(��fdd �|D��} | r�| d�} n|d�} |j ��}��j| d d�\}} }��jjj| j��| j���}��j| || �}|j|�j| j����|j|�j| j��|�| �|���|j|�j|����j| j���}|j|�j|��q�W�qvW�|S�)NTr����r����r����r����r\���r���c����������������s���g�|�]}��j�jj|�r|�qS�r ���)r���r(���r)���)r+���rU���)r���r ���r���r-������s����z5ModuleBase._create_and_fill_table.<locals>.<listcomp>F)r����)r����r����r����ZsetTermforceZTermForce_AUTOZenableMaxoutr����r����r���r�����verboseZhiddenr����r����r����r(���r;���r���r����r����r����r����r����r����)r���r����r����r����Z column_streamZcolumn_profilesZcolumn_infoZlatest_per_repoZnameStreamArchr����Zactiver����r����r����r����r����r����Zsummary_strr ���)r���r����_create_and_fill_table���sD���� z!ModuleBase._create_and_fill_tablec�������������C���s���g�}|r0x2|D�]}|�j�|�\}}|j|��qW�n|�jjj��}|�jjj||�}|sTdS�|�j|�}d} d} y"|�jj|d�d�d�j���j }W�n(�t k r����|d�d�d�j��}Y�nX�t|d��}|�j|�} |�j |�}|| 7�}x�td|j���D�]�}|| �|k�r�| |7�} | d7�} y"|�jj|| �d�d�j���j }W�n*�t k �rX���|| �d�d�j��}Y�nX�t|| ��}|d7�}||�j |�7�}|| 7�}|j|�}||j||�7�}q�W�|t�S�)NrZ���r���r\���r����)r���r7���r���r(���r����ZgetLatestModulesPerRepor����r����r4���r����KeyErrorr�����_format_header�_format_repoid�rangeZgetNumberOfLines�getLiner�����MODULE_TABLE_HINT)r���r���Zmodule_stater����r!���rL���r"���r����r����Zcurrent_repo_id_indexZalready_printed_lines� repo_nameZversions�headerr����r����r����r ���r ���r����_get_brief_description��sH���� " z!ModuleBase._get_brief_descriptionc�������������C���s&���|j�d�}|j||�jdd�d�d�S�)Nr���r����r\���)r����r�����split)r���r����r����r ���r ���r���r����.��s���� zModuleBase._format_headerc�������������C���s���dj�|�jjjj|��S�)Nz{} )r���r���r����r����r����)r���r����r ���r ���r���r����2��s����zModuleBase._format_repoidc�������������C���s��|�j�jj��jddgd�j��}|j|d�}g�}dd��|�j�jj��D��}|j||j��d�}|j |�}x�|j ��D�]�\} } |j| d�}|s�|j| d�}|s�x | D�]}tjt d �j|���q�W�tjt d �j| ���|j| ��qh|�j�jjj| ��tjj|�j�j�} | j|d��|�j�jj| |�d��qhW�||fS�) NrY���rX���)r`���)r����c�������������S���s���g�|�]}|j�r|j�qS�r ���)r����r����)r+���r����r ���r ���r���r-���<��s����z9ModuleBase._install_profiles_internal.<locals>.<listcomp>)Zreponamer���)r���zUnable to resolve argument {}zNo match for package {})ra���)rb���Zoptional)r���ri���re���rj���rk���rl���r����r����rd���ro���r���r���r1���r���r���r7���rs���Z group_membersr?���r���rq���rr���r0���r<���)r���rG���rF���rD���rz���ry���r���r����Zhotfix_packagesrT���Z set_specsre���r!���r{���r ���r ���r���rC���5��s,���� z%ModuleBase._install_profiles_internalN)T)T)T)F)F)#�__name__� __module__�__qualname__r���r$���r'���r<���r|���r~���r����r����r����r���r3���r����rc���rg���rh���r���r%���r����r����r����r����r����r�����staticmethodr����r����r����r����r����r����r����rC���r ���r ���r ���r���r ���+���s@��� U �: % -(**r ���c�������������C���s&���t�jj|��}djtddt|���|g�S�)Nr����zModular dependency problem:zModular dependency problems:)r����utilZ_format_resolve_problemsr9���r���r����)�errorsrP���r ���r ���r����format_modular_solver_errorsS��s����r����)"�collectionsr���r.���Zlibdnf.smartcolsr����Z libdnf.moduleZdnf.selectorr���Zdnf.exceptionsZdnf.module.exceptionsr���Zdnf.utilr���Zdnf.i18nr���r���r���r����rU���ZModulePackageContainerZModuleState_DEFAULTr����ZModuleState_ENABLEDr����ZModuleState_DISABLEDr&���ZModuleState_UNKNOWNr}���r����r����r����objectr ���r����r ���r ���r ���r����<module>���s0��� ������.