o
    *bP
                     @   s&   d dl mZmZ G dd deeZdS )    )PluginIndependentPluginc                   @   s$   e Zd ZdZdZdZdZdd ZdS )LibvirtClientz%client for libvirt virtualization APIZvirsh)systemZvirt)zlibvirt-clientc              	   C   sX  |  ddg d}g d}|D ]}| jd||f dd qdD ]N}| jd	||f dd}|d
 dkrm|d  }z|d  d}W n	 tyL   Y qw tdd |dd  D ]}| | }	| jd|||	f dd qXq| jd| dd}
|
d
 dkr|
d  dd  }tdd |D ]}| d }dD ]}| jd|||f dd qqd S d S )Nz/root/.cache/virt-manager/*.logz/root/.virt-manager/*.logzvirsh -r)z
list --allZdomcapabilitiesZcapabilitiesZnodeinfoZfreecellznode-memory-tuneversionz%s %sT)Z
foreground)ZnetZnwfilterZpoolz
%s %s-liststatusr   outputNamec                 S      | S N xr   r   :/usr/lib/python3/dist-packages/sos/report/plugins/virsh.py<lambda>8       z%LibvirtClient.setup.<locals>.<lambda>   z%s %s-dumpxml %sz%s list --allc                 S   r
   r   r   r   r   r   r   r   B   r      )ZdumpxmlZdominfoZ
domblklistz%s %s %s)	Zadd_copy_specZadd_cmd_outputZcollect_cmd_output
splitlinessplitindex	ExceptionfilterZexec_cmd)selfcmdZsubcmdsZsubcmdkZk_listZk_linesposjnZdomains_outputZdomains_linesdomaindr   r   r   r   setup   sJ   
zLibvirtClient.setupN)__name__
__module____qualname__Z
short_descZplugin_nameZprofilesZpackagesr!   r   r   r   r   r      s    r   N)Zsos.report.pluginsr   r   r   r   r   r   r   <module>   s   