Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
3 ©ft`¢ã@s ddlmZddlmZddlmZddlZddlmZddlmZddl m Z m Z m Z ddl Z ddlZ ddlZ ddlZddlZejdƒZGd d „d ejƒZdS) é)Úabsolute_import)Úprint_function)Úunicode_literalsN)Úcommands)Ú OptionParser)ÚucdÚ_ÚC_Údnfc@sPeZdZdZdZedƒZedd„ƒZdd„Z d d „Z d d „Z d d„Z dd„Z dS)Ú SearchCommandzTA class containing methods needed by the cli to execute the search command. ÚsearchÚsez+search package details for the given stringc Cs<|jddtdƒd�|jddtdƒdgdtjtd ƒd �dS) Nz--allÚ store_truez'search also package description and URL)ÚactionÚhelpÚ query_stringú+ZKEYWORDÚallzKeyword to search for)ÚnargsÚmetavarÚchoicesÚdefaultrr)Ú add_argumentrrZPkgNarrowCallback)Úparser©rú/usr/lib/python3.6/search.pyÚ set_argparser0s  zSearchCommand.set_argparsercs4tjdtddƒfdtddƒfdtddƒfdtd ƒffƒ‰‡fd d „‰‡‡fd d „}tjjƒ}x(|D] }ˆj|d|ƒˆj|d|ƒqbWˆjj rºxd|D] }ˆj|d|ƒˆj|d|ƒq”Wn:t |ƒ}t |j ƒƒ}x$|D]}t |j |ƒƒ|krÔ||=qÔWd}d} d} d} d} ˆjjj�s0ˆjjjƒj|j ƒd�jƒ} tƒ} xÜ|jd| d�D]Ê}ˆjjj�s~|j|j| k�rl�qF| j|j|jƒ||j|ƒk�rœ|j|ƒ}d} | |j |ƒk�rº|j |ƒ} d} | |j|ƒ| kk�rà|j|ƒ| k} d} | �rö|| || ƒd} ˆjjj||j|ƒ|ƒ�qFWt |ƒdk�r0tjtdƒƒdS)z0Search for simple text tags in a package object.ÚnameZlongÚNameÚsummaryZSummaryÚ descriptionZ DescriptionZurlZURLc syˆ|S|SdS)Nr)Úattr)Ú TRANS_TBLrrÚ_translate_attrCsz.SearchCommand._search.._translate_attrcs^tˆ|ƒ}tdƒj|ƒ}|r*tdƒ|}n tdƒ|}ˆjjj|dj|ƒƒ}tt|ƒƒdS)Nz & z%s Exactly Matched: %%sz%s Matched: %%sz, )ÚmaprÚjoinÚbaseÚoutputZ fmtSectionÚprintr)Ú exact_matchZattrsÚkeysZ trans_attrsZtrans_attrs_strZ section_textZ formatted)r#ÚselfrrÚ_print_section_headerIs  z4SearchCommand._search.._print_section_headerNF)ÚpkgT)ÚreverseZlimit_torzNo matches found.) Ú collectionsÚ OrderedDictr rr Z match_counterZ MatchCounterÚ_search_countedÚoptsrÚlenÚlistr*Úmatched_needlesr&ZconfZshowdupesfromreposÚsackÚqueryÚfiltermZlatestÚsetÚsortedrZarchÚaddZ matched_keysZmatched_haystacksr'Z matchcallbackÚloggerÚinfo)r+Úargsr,ÚcounterÚargZneedlesZpkgsr-Z used_attrsr5r)Zprint_section_headerÚlimitÚseenr)r"r#r+rÚ_search9s`               zSearchCommand._searchcCs`d||i}tjj|ƒr$d||i}|jjjƒjtjf|Ž}x|j ƒD]}|j |||ƒqFW|S)Nz %s__substrz%s__glob) r ÚutilZis_glob_patternr&r6r7r8ÚhawkeyZICASEÚrunr;)r+r?r!ZneedleZfdictÚqr-rrrr1ˆs   zSearchCommand._search_countedcCs |jjs|jjtjtjd�dS)N)ÚstdoutÚstderr)r2ÚquietÚcliZredirect_loggerÚloggingZWARNINGÚINFO)r+rrrÚ pre_configure‘szSearchCommand.pre_configurecCsD|jjs|jjƒ|jj}d|_d|_d|_|jjp:|jj |j_dS)NTF) r2rJrKZredirect_repo_progressÚdemandsZavailable_reposZfresh_metadataZsack_activationrZquery_string_action)r+rOrrrÚ configure•s zSearchCommand.configurecCstjtdƒƒ|j|jjƒS)NzSearching Packages: )r<ÚdebugrrCr2r)r+rrrrFžszSearchCommand.runN)r r )Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚaliasesrrÚ staticmethodrrCr1rNrPrFrrrrr (s O  r )Z __future__rrrr/Zdnf.clirZdnf.cli.option_parserrZdnf.i18nrrr r Zdnf.match_counterZdnf.utilrErLZ getLoggerr<ZCommandr rrrrÚs