Anons79 Mini Shell

Directory : /usr/lib/python2.7/site-packages/dnf/cli/commands/
Upload File :
Current File : //usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyc

�
�[/\c@@s�ddlmZddlmZddlmZddlmZddlmZddlm	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlZddlZejd�Zd	Ze
jd
�ZdZi	dd6d
d
6dd6dd6dd6dd6dd6dd6dd6Zd�Zdejfd��YZdefd��YZdS(i(tabsolute_import(tprint_function(tunicode_literals(t_(tcommands(tOptionParserNudnfu.%{name}-%{epoch}:%{version}-%{release}.%{arch}u%(-?\d*?){([:.\w]+?)}u�
name, arch, epoch, version, release, reponame (repoid), evr,
debug_name, source_name, source_debug_name,
installtime, buildtime, size, downloadsize, installsize,
provides, requires, obsoletes, conflicts, sourcerpm,
description, summary, license, url
u	conflictsuenhancesu	obsoletesuprovidesu
recommendsurequiresurequires_preurequires-preusuggestsusupplementscC@s�d�}d�}|jdd�jdd�}x,tj�D]\}}|j||�}q=Wd}d}xPtj|�D]?}|||||j�!�7}|||�7}|j�}q{W||||�7}|S(	u:Convert a rpm like QUERYFMT to an python .format() string.cS@st|j�d}|j�d}|r^|ddkrGd|d}n
d|}d|}nd|j�|dS(	Niiu-u>u<u:u{0.u}(tgroupstlower(tmatchobjtfilltkey((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pytfmt_replEs

cS@s|jdd�jdd�S(Nu{u{{u}u}}(treplace(ttxt((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pytbracketsPsu\nu
u\tu	ui(RtOPTS_MAPPINGtitemst
QFORMAT_MATCHtfinditertstarttend(tqueryformatRRR
tvaluetfmttspostitem((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyt
rpm2py_formatCs		tRepoQueryCommandcB@s�eZdZiejd6ejd6ejd6Zdeej	��Z
ed�Ze
d��Ze
d��Zd�Zd	�Zd
�Zdeed�Zd�Zdd
�Zd�Zd�Zd�Zddd�ZRS(uSA class containing methods needed by the cli to execute the repoquery command.
    urepoquery-nurepoquery-naurepoquery-nevrau	repoqueryu$search for packages matching keywordcC@sB|jr|jd|j�n|jr>|jd|j�n|S(u'Filter query by repoid and arch optionstreponametarch(trepotfiltermtarches(toptstquery((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pytfilter_repo_archjs
		cC@s>|jddddtd��|jdddd	d
ddtd��|jd
d
ddtd��|jdddddgd
tjdddtd��|jdddddddtd��|jddddtd��|jddddtd��|jd dddtd!��|jd"dddtd#��|jd$dddtd%��|jd&dddtd'��|jd(dddtd)��|jd*dddtd+��|jd,dddtd-��|j�}|jd.d
ddtd/��|jd0d
ddtd1��|jd2d
ddtd3��|jd4d
ddtd5��|jd6d
ddtd7��|jd8d
ddtd9��|jd:d
ddtd;��|jd<d
ddtd=��|jd>dd?d@tdtdA��|j�}|jdBdCddDdtd
ddtdE��|jdFdGddHdtd
ddtdI��|jdJdKddLdtd
ddtdM��|jdNddOdtd
ddtdP��|jdQdRddSdtdtdT��|jdUddSdVtd
dWdtdX��|jdYddSdVdZd
dWdtd[��|jd\ddSdVd]d
dWdtd^��|jd_d
ddtd`��|j�}|jdaddbdVdcd
dWdtdd��|jdeddbdVdcd
dWdtj	�|jdfddbdVdgd
dWdtdh��|jdiddbdVdjd
dWdtdk��|jdld
ddtdm��|j�}i	tdn�do6tdp�dq6tdr�ds6tdt�du6tdv�dw6tdx�dy6tdz�d{6td|�d}6td~�d6}xI|j
�D];\}}d�|}|j|dd�d
dWdV|d|�q�W|jd�d
ddtd���itd��d�6td��d�6td��d�6td��d�6td��d�6}	|j�}
xI|	j
�D];\}}d�|}
|
j|
dd�d
dWdV|d|�q�W|
jd�dd�d
dWdVd�dtj	�|jd�d
ddtd���dS(�Nukeytnargsu*thelputhe key to search foru-au--alltdestuqueryalltactionu
store_trueuNQuery all packages (shorthand for repoquery '*' or repoquery without argument)u--show-duplicatesu(Query all versions of packages (default)u--archu
--archlistuarchestdefaulttmetavaru[arch]u show only results from this ARCHu-fu--fileuFILEu+u show only results that owns FILEu--whatconflictsuREQu#show only results that conflict REQu
--whatdependsuishows results that requires, suggests, supplements, enhances,or recommends package provides and files REQu--whatobsoletesu#show only results that obsolete REQu--whatprovidesu"show only results that provide REQu--whatrequiresu:shows results that requires package provides and files REQu--whatrecommendsu$show only results that recommend REQu--whatenhancesu"show only results that enhance REQu--whatsuggestsu"show only results that suggest REQu--whatsupplementsu%show only results that supplement REQu	--alldepsu=check non-explicit dependencies (files and Provides); defaultu--exactdepsu:check dependencies exactly as given, opposite of --alldepsu--recursiveuOused with --whatrequires, and --requires --resolve, query packages recursively.u	--deplistu>show a list of all dependencies and what packages provide themu--querytagsu-show available tags to use with --queryformatu	--resolveu.resolve capabilities to originating package(s)u--treeu"show recursive tree for package(s)u--srpmu#operate on corresponding source RPMu--latest-limitulatest_limitttypeuOshow N latest packages for a given name.arch (or latest but N if N is negative)u-iu--infou	queryinfou+show detailed information about the packageu-lu--listu
queryfilelistu!show list of files in the packageu-su--sourceuquerysourcerpmushow package source RPM nameu--changelogsuquerychangelogsushow changelogs of the packageu--qfu
--queryformatuqueryformatu$format for displaying found packagesu--nevratconstustore_constuZuse name-epoch:version-release.architecture format for displaying found packages (default)u--nvru%{name}-%{version}-%{release}uQuse name-version-release format for displaying found packages (rpm query default)u--envrau.%{epoch}:%{name}-%{version}-%{release}.%{arch}uPuse epoch:name-version-release.architecture format for displaying found packagesu
--groupmemberu=Display in which comps groups are presented selected packagesu--duplicatesu	pkgfilteru
duplicatedu/limit the query to installed duplicate packagesu--duplicatedu
--installonlyuinstallonlyu1limit the query to installed installonly packagesu
--unsatisfieduunsatisfieduClimit the query to installed packages with unsatisfied dependenciesu
--locationu5show a location from where packages can be downloadedu5Display capabilities that the package conflicts with.u	conflictsuaDisplay capabilities that the package can depend on, enhance, recommend, suggest, and supplement.udependsu2Display capabilities that the package can enhance.uenhancesu-Display capabilities provided by the package.uprovidesu1Display capabilities that the package recommends.u
recommendsu1Display capabilities that the package depends on.urequiresuLDisplay capabilities that the package depends on for running a %%pre script.urequires-preu/Display capabilities that the package suggests.usuggestsu5Display capabilities that the package can supplement.usupplementsu--%su
packageatru--availableu Display only available packages.u Display only installed packages.u	installeduLDisplay only packages that are not present in any of available repositories.uextrasuQDisplay only packages that provide an upgrade for some already installed package.uupgradesuFDisplay only packages that can be removed by "dnf autoremove" command.uunneededu2Display only packages that were installed by user.u
userinstalledulistu--autoremoveu--recentu%Display only recently edited packages(tadd_argumentRRt_SplitCallbacktadd_mutually_exclusive_grouptinttFalsetQFORMAT_DEFAULTtargparsetSUPPRESSR(tparsertwhatrequiresformtoutformt	pkgfiltertpackage_attributet	help_msgstargthelp_msgtnamet	help_listt
list_grouptlist_argthelp_argtswitch((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyt
set_argparserss�

















































cC@s@|jjr<|jjr<|jjdtjdtj�ndS(Ntstdouttstderr(R!tverbosetquiettclitredirect_loggertloggingtWARNINGtINFO(tself((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyt
pre_configure�scC@s�|jjr*|jjr*|jj�n|jj}|jjr}|jjrn|jjdd|jj�q}d|j_n|jj	r�dS|jj
r�|jjr�tjjt
d���n|jjr=|jjr�|jjdd�nt|jj|jjdko|jj
g�s=tjjt
d���q=n|jjr\|jjj�n|jjdkr�|jjdks�|jjr�t|_nt|_|jjr�t|_ndS(
Nu--obsoletesu--u	obsoletesu�Option '--resolve' has to be used together with one of the '--conflicts', '--depends', '--enhances', '--provides', '--recommends', '--requires', '--requires-pre', '--suggests' or '--supplements' optionsu--recursiveu--exactdepsurequiresu�Option '--recursive' has to be used with '--whatrequires <REQ>' (optionaly with '--alldeps', but not with '--exactdeps'), or with '--requires <REQ> --resolve'u	installedu
userinstalleduinstallonly(u	installedu
userinstalled(R!RERFRGtredirect_repo_progresstdemandst	obsoletest
packageatrt_option_conflictt	querytagstresolvetdnftCliErrorRt	recursivet	exactdepstanytwhatrequirestsrpmtbasetrepostenable_source_repostlistR7t	availabletTruetavailable_repostsack_activationtquerychangelogst
changelogs(RLRO((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyt	configures6 	$		c	C@sY|jr�g}|jdt|��x^|jD]S}|d}|jd|jd�tjj|d�tjj|d�f�q0Wdj|�Sy�t	|�}|j
r�|jjj
|�S|jr|j}|s�ttd�j|�d	tj�n|S|jr|jSt|j�j|�SWn+tk
rT}tjjt|���nXdS(
NuChangelog for %su	timestampu* %s %s
%s
u%a %b %d %Yuauthorutextu
uPackage {} contains no filestfile(RdtappendtstrRetstrftimeRUti18ntucdtjointPackageWrappert	queryinfoR\toutputt
infoOutputt
queryfilelisttfilestprintRtformattsysRDtquerysourcerpmt	sourcerpmRRtAttributeErrort
exceptionstError(	RLR!tpkgtouttchlogtdttpotfilelistte((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pytbuild_format_fn-s.	

			%	c	C@s�|r|n|jjj�jdt�}|jjj�jdt�}t�}t�}xP|j�D]B}	|	j}
|j|
�|j|	j	�|rg|j|
�qgqgW|j
|jd|��}|r=|j
|jd|��}|j
|jd|��}|j
|jd|��}|j
|jd|��}n|r�|j|�}|r�|j
||d|j
|�d|d	|�}q�n|j
|�S(
Ntemptytrequirest
recommendstenhancestsupplementstsuggeststdoneRWtall_deps(R\tsackR"RRatsettruntprovidestupdateRstuniontfiltert
differencet_get_recursive_deps_query(RLtquery_intquery_selectR�RWR�tttset_requirestset_all_depsR|tpkg_provides((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyR�Is,*			
c	C@s*|p	|}|jtjj|�j|jjdtdt��}|jd|�}|r�|j	|jd|��}|j	|jd|��}|j	|jd|��}|j	|jd|��}n|j	|j
||d|��}|jjr&|j	|j
||d	|jjd|��}n|S(
Nt
with_providestwith_filenamestrequires__globtrecommends__globtenhances__globtsupplements__globtsuggests__globR�RW(
tintersectionRUtsubjecttSubjecttget_best_queryR\R�R0R�R�R�R!RW(RLt
requires_nametdepends_nameR"R<tdefaultqueryt
requiresqueryR�((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pytby_all_depsds cC@s�|r|n|jjj�jdt�}|jjj�jdt�}x2|j�D]$}|j|jd|j��}qUW|j	|�}|r�|j
||d|j|��}n|j|�S(NR�R�R�(R\R�R"RRaR�R�R�R�R�t_get_recursive_providers_query(RLR�t	providersR�R�R|R�((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyR�ws*"$c
C@s�|jjr*ttd��tt�dS|jj|j|jjj	��|jjj	�}|jj
r5i}g|jjD].}|t|j
j��kr}|j
|^q}}|r�||d<ng}|jdt�}xM|jj
D]?}|jtjj|dt�j|jjdt|��}q�W|}n|jjr\|j|jjj�}n|jjr�|jjr6|jjdkr6t|jjj��tjjtdjdd	|jj����q6nf|jjd
kr�|j |jj!j"�}n9|jjr6|jjdkr6t#||jj��}n|jj$dkrr|jj%|�}|j&|�j'�}n�|jj$d
kr�|jj%|�}n�|jj$dkr/tjj(|j�}	|	j)|jjj*|jjj+�tj,j-|	�}
|
j.dt�}|s+ttj/j0|
j1���ndS|jjsJ|j�}n|j2|j|�}|}|jj3r�|j4d|jj3�n|jj5r�|j4d|jj5�n|jj6r�|j4d|jj6�n|jj7r#|jd|jj7g�}
|
r
|
}q#|j4d|jj7�n|jj8s;|jj9r}|jj:pP|jj;s�tjjtdj|jj8rwdnd����n|jj8r�|j<|jj:|jj;|�}q�|jj:r�|j4d|jj:�q�|jd|jj;�}|j|jd|jj;��}|j|jd|jj;��}|j|jd|jj;��}|j|jd|jj;��}n<|jj:s�|jj;r�|j<|jj:|jj;|�}n|jj=r�|j4d|jj=�n|jj>r|j4d|jj>�n|jj?r(|j4d|jj?�n|jj@rM|j4d|jj@�n|jjArq|jB|jjA�}n|jjC|dt�}|jjDr"g}xc|D][}|jE}|dk	r�|jjj	�j4d|d|jGdd �}||j.�7}q�q�W|jjj	�j4d!|�}n|jjHr�|jj:rh|jjId3krhtjjtd*���n|jJ|||j�dStK�}|jjIrF	tK�}x�|j.�D]�}|jjdks�|jj!jL|�r�|jjId+kr|jM|jN|jO|jP|jQ|jR�q>|jMt#|tS|jjI��q�q�W|jjTr,	|jjdkr�|j2|j|jjj	��}n'|j2|j|jjj	�j��}|jd,|�}|jjUr�|j|jV||��}ntK�}xP|jB�j.�D]"}|jW|jX|j|��q	Wq�|jMd-�|D��nI|jjYr�	x:|j.�D].}|jZ�}|dk	r_	|jW|�q_	q_	Wn�|jj[rg}xLt\tK|j.���D]2}|jjdks�	|jj!jL|�r�	g}|j]d.t^|��x�t\g|jND]}t^|�^q
�D]�}|j]d/|�tjj|�}|j|jj�}|j2|j|j��}|jj_s�
|jB�}nx+|j.�D]}|j]d0t^|��q�
Wq2
W|j]d1j`|��q�	q�	W|rtd2j`|��ndS|jjar2|jb|�dSxZ|j.�D]L}|jjdksl|jj!jL|�r?|jW|jX|j|��q?q?W|r�|jjcr�td2j`t\|���q�td1j`t\|���ndS(4Nu6Available query-tags: use --queryformat ".. %{tag} .."uformsR�tignore_caseR�u	installedu)argument {}: not allowed with argument {}u--availableu--uunneededu
userinstalledu
duplicateduinstallonlyuunsatisfiedtverifyt
file__globt	conflictsRPtprovides__globu;argument {} requires --whatrequires or --whatdepends optionu	--alldepsu--exactdepsR�R�R�R�R�twarningR<tevrRusrcR|u	conflictsuenhancesu	obsoletesuprovidesu
recommendsurequiresusuggestsusupplementsu�No valid switch specified
usage: dnf repoquery [--conflicts|--enhances|--obsoletes|--provides|--recommends|--requires|--suggest|--supplements|--whatrequires] [key] [--tree]

description:
  For the given packages print a tree of the packages.udependsR�cs@s|]}t|�VqdS(N(Ri(t.0trel((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pys	<genexpr>su	package: u  dependency: u
   provider: u
u

(u	conflictsuenhancesu	obsoletesuprovidesu
recommendsurequiresusuggestsusupplements(dR!RSRtRt
QUERY_TAGSRGt _populate_update_security_filterR\R�R"R
tcommandR_tnevra_formstkeysR�RaR�RUR�R�R�R0trecentt_recenttconfR`t	optparsertprint_usageRzR{Rut	_unneededthistorytswdbtgetattrR7t_get_installonly_queryR�t
duplicatedt_rpmdb_sackt
_configuretinstallonlypkgstinstallonly_limittgoaltGoalR�tutilt_format_resolve_problemst
problem_rulesR#RgRt
whatconflictst
whatobsoletestwhatprovidestalldepsRXRZtwhatdependsR�twhatrecommendstwhatenhancestwhatsupplementstwhatsuggeststlatest_limittlatestt_merge_update_filtersR[tsource_nametNoneR�ttreeRQt	tree_seedR�tuser_installedR�R�R�R�R�R�RRTRWR�taddR�tlocationtremote_locationtdeplisttsortedRhRiRERmtgroupmembert_group_member_reportRo(RLtqtkwarkR�tformstpkgst
query_resultsR
tinstallonlytrpmdbR�tsolvedtorquerytquery_for_providetdependsquerytpkg_listR|tsrcnamet	tmp_querytrelsR"R�R�tdeplist_outputtreqR�tprovider((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyR��sB
".
	""			$$$$
	$	!				')'$'	#'/
'#c	C@s�|jjdt�i}xF|jjjD]5}tg|j�D]}|j^q?�||j<q)Wi}g}x�|j	�D]�}g}x9|j
�D]+\}}	|j|	kr�|j|�q�q�W|r�|jdj
t|��g�jt|��q{|jt|��q{Wg}
xft|j
��D]R\}}|
jdj
t|�tg|jd�D]}
d|
^q^���q*W|
jdj
t|���|
r�tdj
|
��ndS(Ntarch_filteru$u
u  @(R\t
read_compsRatcompsRR�t
packages_iterR<tidR�RRht
setdefaultRmR�RitsplitRt(RLR"tpackage_conf_dicttgroupR|tgroup_package_dicttpkg_not_in_groupt
group_id_listtgroup_idtpackage_name_setRpR
tpackage_listR�((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyR�=s,3+Dc
C@s�|j||�}|dkr,t|�dSd}x!td|�D]}|d7}qBWg}x$|jD]}|jt|��qfWdtt|��ddj|�d}	t|d	|d|	�dS(
Ni����u iu|   u[u: u, u]u\_ (R�RttrangeR�RhRitlenRm(
RLtlevelR|R!t
pkg_stringtspacingtxR�t	reqirepkgtreqstr((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyt	grow_treeVs
+i����c	C@s�x�tt|j��dd��D]�}|dks@|dkrIt�n|}|jjd�ss|jjd�rwdS|j|||�||kr"|j|�|jrOt	||j�}i}x[t|�D]M}	|j
jj�j
d|	�}
x&|
D]}|||jd|j<q�Wq�W|j
jj�j
dt|j���}
n6|jrp|j|jd|�n|jd	|j�}
|j|
|||d
|�q"q"WdS(NR
cS@s|jS(N(R<(tp((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyt<lambda>esi����urpmlibusolvableR�u.R|R�i(R�R�R�R�R<t
startswithRR�RQR�R\R�R"RRR_tvaluesR�R�R�R�(RLR"taqueryR!R
tusedpkgsR|tstrpkgtarR<tpkgquerytquerypkg((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyR�ds$('$
	
 -!(u	repoqueryN(t__name__t
__module__t__doc__thawkeyt	FORM_NAMEtFORM_NAt
FORM_NEVRAR�ttupleR�taliasesRtsummarytstaticmethodR#RBRMRfR�R�R0R�R�R�R�R�RR�(((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyR`s&


	�		*		
	�		RncB@sMeZdZd�Zd�Zed��Zed��Zed��Z	RS(u>Wrapper for dnf.package.Package, so we can control formatting.cC@s
||_dS(N(t_pkg(RLR|((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyt__init__~scC@sNt|j|�}t|t�r>djtd�|D���Stjj|�S(Nu
cS@s"h|]}tjj|��qS((RURkRl(R�treldep((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pys	<setcomp>�s	(	R�R&t
isinstanceR_RmR�RURkRl(RLtattrtatr((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyt__getattr__�scC@s3|dkr+tjj|�}|jd�SdSdS(Niu%Y-%m-%d %H:%Mu(tdatetimetutcfromtimestampRj(t	timestampR((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyt_get_timestamp�s
cC@s|j|jj�S(N(R0R&t	buildtime(RL((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyR1�scC@s|j|jj�S(N(R0R&tinstalltime(RL((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyR2�s(
RRRR'R,R%R0tpropertyR1R2(((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyRnzs		( t
__future__RRRtdnf.i18nRtdnf.cliRtdnf.cli.option_parserRR2R-RItreRvRUtdnf.exceptionstdnf.subjecttdnf.utilRt	getLoggertloggerR1tcompileRR�RRtCommandRtobjectRn(((s>/usr/lib/python2.7/site-packages/dnf/cli/commands/repoquery.pyt<module>sF
	��

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]