3
ܓi @ s. d dl Z d dlmZmZ G dd deeZdS ) N)PluginIndependentPluginc @ s0 e Zd ZdZdZdZd
ZdZdd Zd d
Z dS )Snapz
Snap packagessnapsystemsysmgmtpackagemanagersnapdc
C s | j d | jddd | jddddd d
ddd
dddg | jjj}x:|D ]2}| jjj|}|d dkrJ| jd|d qJW | jddd | jd}|d dkr|d }xR|j dd D ]>}|dkrq|j }t j
d|d r| j d |d d!g qW | jd"}|d dkr|d }x^|j dd D ]J}|dkrFq4|j } | d | d }
}|d'kr4| jd%|
d& q4W d S )(Nz/var/lib/snapd/state.jsonzsnap list --allzinstalled-snaps)Zroot_symlinkzsnap --versionzsnap versionzsnap whoamizsnap model --verbosezsnap model --serial --verbosez
snap serviceszsnap connectionszsnap changes --abs-timez
snap validatez?snap debug state --abs-time --changes /var/lib/snapd/state.jsonzsnap debug stacktraceszsnap get system -dZpkg_managerr zsnap connections namezsnap debug connectivity
)Ztimeoutz snap listZstatusr output z.*gadget.*$ z/snap/z/current/meta/gadget.yamlzsnap changesDoingErrorzsnap tasks z --abs-time)r r )Z
add_copy_specZadd_cmd_outputZpolicyZpackage_managerpackagesZpkg_by_nameZexec_cmd
splitlinessplitrematchZcollect_cmd_output)selfZall_pkgsZpkg_nameZpkgZ snap_listr lineZsnap_pkgZsnap_changesZchangeZ change_idZ
change_status r /usr/lib/python3.6/snap.pysetup sR
z
Snap.setupc C s | j ddd d S )Nz/var/lib/snapd/state.jsonzv\"(macaroon|store-macaroon|key-id|session-macaroon|macaroon-key|store-discharges)\":\"?\[?([\"?A-Za-z0-9_=\-,]*)\"?\]?z
"\1":"***")Zdo_file_sub)r r r r postprocO s z
Snap.postprocN)r r r )r )r )
__name__
__module____qualname__Z
short_descZplugin_nameZprofilesr Zservicesr r r r r r r s 8r )r Zsos.report.pluginsr r r r r r r