U
    -_g                     @   s.   d dl Z d dlmZmZ G dd deeZdS )    N)PluginIndependentPluginc                   @   s0   e Zd ZdZdZdZdZdZdd Zdd Z	d	S )
SnapzSnap packagessnap)systemZsysmgmtZpackagemanager)Zsnapdc                 C   sx  |  d | jddd | ddddd	d
ddddddg | jjj}|D ]2}| jj|}|d dkrH| d|d   qH| jddd | d}|d dkr|d }| dd  D ]>}|dkrq| }t	
d|d r|  d |d  d!g q| d"}|d dkrt|d }| dd  D ]J}|dkr:q(| }	|	d |	d  }
}|d#kr(| d$|
 d% q(d S )&N/var/lib/snapd/state.jsonzsnap list --allzinstalled-snaps)Zroot_symlinkzsnap --versionzsnap versionzsnap whoamizsnap model --verbosezsnap model --serial --verbosezsnap serviceszsnap connectionszsnap changes --abs-timezsnap validatez?snap debug state --abs-time --changes /var/lib/snapd/state.jsonzsnap debug stacktraceszsnap get system -dZpkg_managerr   zsnap connections namezsnap debug connectivity
   )Ztimeoutz	snap listZstatusr   output    z.*gadget.*$   z/snap/z/current/meta/gadget.yamlzsnap changes)ZDoingErrorzsnap tasks z --abs-time)Zadd_copy_specZadd_cmd_outputZpolicyZpackage_managerpackagesZpkg_by_nameZexec_cmd
splitlinessplitrematchZcollect_cmd_output)selfZall_pkgspkg_namepkgZ	snap_listr
   lineZsnap_pkgZsnap_changesZchangeZ	change_idZchange_status r   9/usr/lib/python3/dist-packages/sos/report/plugins/snap.pysetup   sV    





z
Snap.setupc                 C   s   |  ddd d S )Nr   zv\"(macaroon|store-macaroon|key-id|session-macaroon|macaroon-key|store-discharges)\":\"?\[?([\"?A-Za-z0-9_=\-,]*)\"?\]?z
"\1":"***")Zdo_file_sub)r   r   r   r   postprocO   s
    zSnap.postprocN)
__name__
__module____qualname__Z
short_descZplugin_nameZprofilesr   servicesr   r   r   r   r   r   r      s   8r   )r   Zsos.report.pluginsr   r   r   r   r   r   r   <module>
   s   