관리-도구
편집 파일: search.cpython-39.pyc
a �����!c�����������������������@���s����d�dl�mZ�d�dl�mZ�d�dl�mZ�d�dlZd�dlmZ�d�dlmZ�d�dl m Z mZmZ�d�dl Z d�dlZ d�dlZ d�dlZd�dlZe�d�ZG�d d ��d ej�ZdS�)�����)�absolute_import)�print_function)�unicode_literalsN)�commands)�OptionParser)�ucd�_�C_�dnfc�������������������@���sP���e�Zd�ZdZdZed�Zedd���Zdd��Z dd ��Z d d��Zdd ��Zdd��Z dS�)� SearchCommandzTA class containing methods needed by the cli to execute the search command. )�searchZsez+search package details for the given stringc�������������� ���C���s<���|�j�ddtd�d��|�j�ddtd�dgd�tjtd �d ��d�S�)Nz--all� store_truez'search also package description and URL)�action�help�query_string�+ZKEYWORD�allzKeyword to search for)�nargs�metavar�choices�defaultr���r���)�add_argumentr���r���ZPkgNarrowCallback)�parser��r����;/usr/lib/python3.9/site-packages/dnf/cli/commands/search.py� set_argparser0���s������zSearchCommand.set_argparserc��������������������s$��t��dtdd�fdtdd�fdtdd�fdtd �ff�����fd d����fdd �}tj���}|D�] }��|d|����|d|��q`�jj r�|D�] }��|d|����|d|��q�n6t |�}t|����}|D�]}t |� |��|kr�||=�q�d}d} d} d}d}�jjj�s$�jj���j|���d����}t��} |jd|d�D�]�}�jjj�sp|j|j�| v��r^�q8| �|j|j���||�|�k�r�|�|�}d}| |� |�k�r�|� |�} d}| |�|�| kk�r�|�|�| k} d}|�r�|| || ��d}�jj�||�|�|���q8t |�dk�r t�td���dS�)z0Search for simple text tags in a package object.�nameZlong�Name�summaryZSummary�descriptionZDescription�urlZURLc��������������������s ���z ��|��W�S����|��Y�S�0�d�S�)Nr���)�attr)� TRANS_TBLr���r����_translate_attrC���s���� z.SearchCommand._search.<locals>._translate_attrc��������������������s^���t���|�}td��|�}|�r*td�|�}ntd�|�}�jj�|d�|���}tt|���d�S�)Nz & z%s Exactly Matched: %%sz%s Matched: %%sz, )�mapr����join�base�outputZ fmtSection�printr���)�exact_match�attrs�keysZtrans_attrsZtrans_attrs_strZsection_text� formatted)r#����selfr���r����_print_section_headerI���s���� z4SearchCommand._search.<locals>._print_section_headerNF)�pkgT)�reverseZlimit_tor���zNo matches found.) �collections�OrderedDictr ���r���r ���Z match_counterZMatchCounter�_search_counted�optsr����len�listr+����matched_needlesr&���ZconfZshowdupesfromrepos�sack�query�filtermZlatest�set�sortedr���Zarch�addZmatched_keysZmatched_haystacksr'���Z matchcallback�logger�info)r-����argsr.����counter�argZneedlesZpkgsr/���Z used_attrsr7���r)���Zprint_section_header�limit�seenr���)r"���r#���r-���r����_search9���sb���� � zSearchCommand._searchc�����������������C���s`���d|�|i}t�j�|�r$d|�|i}|�jj���jtjfi�|��}|� ��D�]}|� |||��qH|S�)Nz %s__substrz%s__glob)r ����utilZis_glob_patternr&���r8���r9���r:����hawkeyZICASE�runr=���)r-���rA���r!���ZneedleZfdict�qr/���r���r���r���r3�������s����zSearchCommand._search_countedc�����������������C���s ���|�j�js|�jjtjtjd��d�S�)N)�stdout�stderr)r4����quiet�cliZredirect_logger�loggingZWARNING�INFO�r-���r���r���r���� pre_configure����s����zSearchCommand.pre_configurec�����������������C���sD���|�j�js|�j����|�jj}d|_d|_d|_|�j�jp:|�j�j |�j�_d�S�)NTF) r4���rL���rM���Zredirect_repo_progress�demandsZavailable_reposZfresh_metadataZsack_activationr���Zquery_string_action)r-���rR���r���r���r���� configure����s���� zSearchCommand.configurec�����������������C���s���t��td���|��|�jj�S�)NzSearching Packages: )r>����debugr���rE���r4���r���rP���r���r���r���rH�������s����zSearchCommand.runN)�__name__� __module__�__qualname__�__doc__�aliasesr���r����staticmethodr���rE���r3���rQ���rS���rH���r���r���r���r���r���(���s��� O r���)Z __future__r���r���r���r1���Zdnf.clir���Zdnf.cli.option_parserr���Zdnf.i18nr���r���r ���r ���Zdnf.match_counterZdnf.utilrG���rN���Z getLoggerr>���ZCommandr���r���r���r���r����<module>���s���