o
    O6uf[	  ã                   @   s.   d dl Z d dlmZmZ G dd„ deeƒZdS )é    N)ÚPluginÚUbuntuPluginc                   @   s@   e Zd ZdZdZdZdZdZdZdZ	dd	„ Z
d
d„ Zdd„ ZdS )ÚKafkaz�
    This plugin collects log and configuration files, and also basic
    installation information (e.g., `snap info`) for Apache Kafka.
    zApache Kafka pluginÚkafka)Úservices)úcharmed-kafka)r   Fc                 C   s"   | j j d¡}|r|d dkS dS )Nr   Úpkg_managerÚsnapF)ÚpolicyÚpackage_managerÚpkg_by_name)ÚselfÚ	kafka_pkg© r   ú:/usr/lib/python3/dist-packages/sos/report/plugins/kafka.pyÚ_is_snap_installed   s   zKafka._is_snap_installedc                 C   sT   |   ¡ | _|  d¡rdnd}| jr|  d¡ d}d}nd}d}|  || |g¡ d S )	NÚall_logsz*.log*z*.logzsnap info charmed-kafkaz-/var/snap/charmed-kafka/common/var/log/kafka/ú*/var/snap/charmed-kafka/current/etc/kafka/z/usr/local/kafka/logs/ú/usr/local/kafka/config/)r   Úis_snapÚ
get_optionÚadd_cmd_outputÚadd_copy_spec)r   Úlog_file_patternÚlog_pathÚconfig_pathr   r   r   Úsetup"   s   


þzKafka.setupc                 C   sd   ddg}| j r	dnd}dd |¡› d�}t |¡D ]\}}}|D ]}|  tj ||¡|d¡ q qd S )	NÚpasswordÚusernamer   r   z(^\s*(ú|z)\s*=\s*)(.*)z\1*********)r   ÚjoinÚosÚwalkÚdo_path_regex_subÚpath)r   Úprotect_keysr   ÚregexpÚrootÚ_ÚfilesÚfiler   r   r   Úpostproc4   s   ÿý	ÿÿÿzKafka.postprocN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú
short_descÚplugin_nameÚprofilesÚpackagesr   r   r   r   r+   r   r   r   r   r      s    r   )r!   Úsos.report.pluginsr   r   r   r   r   r   r   Ú<module>   s   
