�
��>f� � � � d dl Zd dlZd dlZd dlZd dlZd dlmZmZm Z d dl
mZmZm
Z
mZmZmZmZ dZg d�ZdZdZdZd Z e
j0 � Z ej4 ej6 e� � Z ed
defdefd
efdefdefg� Zde fd�Z!de fd�Z" d$de e de e de ee# ddfd�Z$ d%dede ee# ddfd�Z%dede e fd�Z&dee fd�Z'd� Z(dejR fd�Z* d&dede e d e fd!�Z+defd"�Z,dedefd#�Z-y)'� N)�List�
NamedTuple�Optional)�api�apt�event_logger�
exceptions�messages�system�utilz
/usr/bin/snap)g �?g �?g @z
proxy.httpzproxy.httpsz/run/snapd.socketz/v2/snaps/{}�SnapPackage�name�version�revision�channel� publisher�returnc �. � dt j � v S )z(Returns whether or not snap is installed�snapd)r �get_installed_packages_names� � �//usr/lib/python3/dist-packages/uaclient/snap.py�is_snapd_installedr ! s � ��c�6�6�8�8�8r c �6 � t d� t � D � � S )z3Returns whether or not snapd is installed as a snapc 3 �: K � | ] }|j d k( �� � y�w)r N�r )�.0�snaps r � <genexpr>z/is_snapd_installed_as_a_snap.<locals>.<genexpr>( s � �� �G��� � �W�$�G�s �)�any�get_installed_snapsr r r �is_snapd_installed_as_a_snapr# & |