o
    *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 | g d | jddd | d	 | trm| trmd
}| tD ]}|ds5q-t|r=|d nd
}|| 	t| }q-t|rm| jd| dd dd |
 D }dd| }| j|ddd | d | ddg | g d | jg ddd | dr| d}d}|d  d!kr|d"  D ]}zt|
d#d!  }W  n	 ty   Y qw td$|d$ D ]	}| d%|  q| d&r| d' | d(r| d)r| d*}z| d+|d" 
 d f  W d S  ty   Y d S w d S d S ),NZ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.pem)z/etc/pki/product/*.pemz/etc/pki/consumer/cert.pemz/etc/pki/entitlement/*.pem)yum historyzyum list installedzpackage-cleanup --dupeszpackage-cleanup --problems)Z
cmd_as_tagr   r   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!   sx   










"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_listr0   r2   r   r   r   r   r      s    [r   )Zsos.report.pluginsr   r   r   r   r    r   r   r   r   r   <module>   s   