£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
3
ft`?                 @   sV   d dl mZ d dl mZ d dlmZ d dlmZ d dlZd dlZ	G dd dej
ZdS )    )absolute_import)unicode_literals)_)commandsNc               @   s8   e Zd ZdZdZedZedd Zdd Z	dd	 Z
d
S )CheckCommandzSA class containing methods needed by the cli to execute the check
    command.
    checkz#check for problems in the packagedbc          	   C   s   | j ddddtdd | j ddddtd	d | j d
dddtdd | j ddddtdd | j ddddtdd | j dddddddg gtjd d S )Nz--allcheck_typesZappend_constallzshow all problems; default)destactionconsthelpz--dependenciesdependencieszshow dependency problemsz--duplicates
duplicateszshow duplicate problemsz--obsoleted	obsoletedzshow obsoleted packagesz
--providesprovideszshow problems with providescheck_yum_types*)nargschoicesr   )add_argumentr   argparseZSUPPRESS)parser r   /usr/lib/python3.6/check.pyset_argparser$   s$    zCheckCommand.set_argparserc             C   sx   d| j j_| jjr<| jjr0| jj| jj | j_n| jj| j_| jjsPdh| j_nt| jj| j_| jj j	dg7  _	d S )NTr	   )
ZcliZdemandsZsack_activationoptsr   r   setbaseconfZdisable_excludes)selfr   r   r   	configure;   s    
zCheckCommand.configurec          	   C   s  t  }| jjj j }| jjjddhrd }x||D ]r}xt |jt t |j	t |j
 B D ]}t|jdrtq`t|j|gds`t|jdr|d krtjj| j}tjj|}|j t|d tjj|}| jjj|_|j|dd |j }|rq`td}	|j|	j| jjjj|| jjjj| q`W xx|jD ]n}
|j|
gt|
j  d	 d
}xJ|D ]B}d}	|j|	j| jjjj|| jjjj|
| jjjj| q^W q8W q6W | jjjddhrN| jj!|}|j" j#|j$ }xl|j% D ]`\}}|j&  xL|dd  D ]<}tdj| jjjj|d	 | jjjj|}	|j|	 qW qW | jjjddhrx||D ]t}xl|j'D ]b}|j|gt|j  d	 d
}t|rttdj| jjjj|d	 | jjjj|}	|j|	 qtW qhW | jjjddhr\xf|D ]^}xV|j(D ]L}||j|gdkrtd}	|j|	j| jjjj|| jjjj| qW qW xt)|D ]}	t*|	 qfW |rtj+j,djt|d S )Nr	   r   Zrpmlib)r   (F)ZselectZoptionalz{} has missing requires of {}r   )r   namez"{} has installed conflict "{}": {}r      z{} is a duplicate with {}r   z{} is obsoleted by {}r   z%{} provides {} but it cannot be foundzCheck discovered {} problem(s))-r   r   sackZqueryZ	installedr   r   intersectionZregular_requiresZrequires_preZprereq_ignoreinststr
startswithlenfilterdnfZ
rpmdb_sackselectorZSelectorgoalZGoalr   Zprotect_running_kernelZinstallrunr   addformatoutputZtermZboldZ	conflictssplitZ_get_installonly_queryZ
duplicated
differenceZ
_name_dictitemssortZ	obsoletesr   sortedprint
exceptionsError)r    Z
output_setqr%   ZpkgZrequirer,   r-   ZsolvedmsgZconflictZ
conflictedZconflict_pkgZinstallonlyZdupsr#   ZpkgsdupZobsoleter   Zprovider   r   r   r.   I   s    (
$


 zCheckCommand.runN)r   )__name__
__module____qualname____doc__aliasesr   Zsummarystaticmethodr   r!   r.   r   r   r   r   r      s   r   )Z
__future__r   r   Zdnf.i18nr   Zdnf.clir   r   Zdnf.exceptionsr+   ZCommandr   r   r   r   r   <module>   s   