o
    G%@i                     @   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)systemsysmgmtpackagemanager)snapdc                 C   s^  |  d | jddd | g d | jjj}|D ]}| jj|}|d dkr3| d|d	   q| jd
dd | d}|d dkrr|d }| dd  D ]}|dkrYqR| }t	
d|d rq|  d|d  dg qR| d}|d dkr|d }| dd  D ]#}|dkrq| }	|	d |	d }
}|dv r| d|
 d qd S d S )N/var/lib/snapd/state.jsonzsnap list --allzinstalled-snaps)root_symlink)z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 -dpkg_managerr   zsnap connections namezsnap debug connectivity
   )timeoutz	snap liststatusr   output    z.*gadget.*$   z/snap/z/current/meta/gadget.yamlzsnap changes)DoingErrorzsnap tasks z --abs-time)add_copy_specadd_cmd_outputpolicypackage_managerpackagespkg_by_nameexec_cmd
splitlinessplitrematchcollect_cmd_output)selfall_pkgspkg_namepkg	snap_listr   linesnap_pkgsnap_changeschange	change_idchange_status r.   9/usr/lib/python3/dist-packages/sos/report/plugins/snap.pysetup   sF   



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":"***")do_file_sub)r#   r.   r.   r/   postprocO   s
   zSnap.postprocN)
__name__
__module____qualname__
short_descplugin_nameprofilesr   servicesr0   r2   r.   r.   r.   r/   r      s    8r   )r    sos.report.pluginsr   r   r   r.   r.   r.   r/   <module>   s   	