U
    *b                     @   s6   d dl mZmZmZ d dlZdZG dd deeZdS )    )PluginRedHatPlugin	PluginOptNz/usr/lib/yum-plugins/c                   @   s\   e Zd ZdZdZdZdZdZdZe	dddd	e	d
ddd	e	dddd	gZ
dd Zdd ZdS )Yumzyum informationyum)systemZpackagemanagerZsysmgmt)/etc/yum.conf)r   yumlistFzlist repos and packages)defaultZdescyumdebugzcollect yum debug datayum-history-infoz-collect yum history info for all transactionsc           	   	   C   s*  |  dddd | ddddg | jd	d
d | d | tr| trd}| tD ]4}|dsnq^t|r~|d nd}|| 	t| }q^t|r| jd| dd dd |
 D }dd| }| j|ddd | d | ddg | dddg | jd d!d"d#gdd$ | d%r| d }d&}|d' d(kr|d)  D ]@}z"t|
d*d(  }W  qW n tk
r   Y nX qPtd+|d+ D ]}| d,|  q| d-r| d. | d/r&| d0r&| d1}z | d2|d) 
 d& f  W n tk
r$   Y nX d S )3NZyum_repos_dZyum_logZyum_conf)z/etc/yum.repos.d/.*/var/log/yum.logr   z/etc/yumz/etc/yum.repos.dr   r   zyum -C repolistZyum_repolist)Ztagszyum -C repolist --verbose z.py z
rpm -qf %szplugin-packages)Zsuggest_filenamec                 S   s    g | ]}t j|d d qS )N)ospathbasename).0p r   8/usr/lib/python3/dist-packages/sos/report/plugins/yum.py
<listcomp>D   s    zYum.setup.<locals>.<listcomp>z%s

zplugin-namesT)Zplug_dirz/etc/yum/pluginconf.dz/etc/pki/entitlement/key.pemz/etc/pki/entitlement/*-key.pemz/etc/pki/product/*.pemz/etc/pki/consumer/cert.pemz/etc/pki/entitlement/*.pemzyum historyzyum list installedzpackage-cleanup --dupeszpackage-cleanup --problems)Z
cmd_as_tagr   Zstatusr   output|   zyum history info %dr	   zyum listr   z	yum-utilszyum-debug-dumpzzcat %s)Zadd_file_tagsZadd_copy_specZadd_cmd_outputZpath_existsYUM_PLUGIN_PATHZ
path_isdirlistdirendswithlenZ	path_joinsplitjoinZadd_string_as_fileZadd_forbidden_pathZ
get_optionZexec_cmd
splitlinesintstrip
ValueErrorrangeZis_installed
IndexError)	selfZpluginsr   Z	plugnameshistoryZtransactionslineZtr_idrr   r   r   setup!   s    








 z	Yum.setupc                 C   s   d}d}|  d|| d S )Nz"(proxy_password(\s)*=(\s)*)(\S+)\nz\1********\nz/etc/yum.repos.d/*)Zdo_path_regex_sub)r*   Zregexpreplr   r   r   postproc|   s    zYum.postprocN)__name__
__module____qualname__Z
short_descZplugin_nameZprofilesfilesZpackagesZverify_packagesr   Zoption_listr.   r0   r   r   r   r   r      s   [r   )Zsos.report.pluginsr   r   r   r   r   r   r   r   r   r   <module>	   s   