File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/spm/__pycache__/__init__.cpython-310.pyc
o
�N�g"� � @ s\ d Z ddlZddlZddlZddlZddlZddlZddlZddl Zddl
ZddlZddlm
Z
ddlZddlm mZ ddlZddlZddlZddlZddlmZ z
ddlZddlZW n eyf Y nw e�e�ZdZG dd� de�Z G dd� de �Z!G d d
� d
e �Z"G dd� de �Z#G d
d� de �Z$G dd� d�Z%G dd� d�Z&G dd� de&�Z'dS )zf
This module provides the point of entry to SPM, the Salt Package Manager
.. versionadded:: 2015.8.0
� N)�compile_template)�c�d�g�l�r�s�mc @ � e Zd ZdZdS )�SPMExceptionz-
Base class for SPMClient exceptions
N��__name__�
__module__�__qualname__�__doc__� r r �E/opt/saltstack/salt/lib/python3.10/site-packages/salt/spm/__init__.pyr . � r c @ r
)�SPMInvocationErrorz8
Wrong number of arguments or other usage error
Nr r r r r r 4 r r c @ r
)�SPMPackageErrorz;
Problem with package file or package installation
Nr r r r r r : r r c @ r
)�SPMDatabaseErrorz%
SPM database not found, etc
Nr r r r r r @ r r c @ r
)�SPMOperationCanceledz/
SPM install or uninstall was canceled
Nr r r r r r F r r c @ s2 e Zd ZdZdIdd�Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
dd� Zdd� Zdd� Z
dd� ZdJdd�Zdd� Zdd� ZdId d!�ZdKd"d#�Zd$d%� Zd&d'� ZdId(d)�ZdLd+d,�Zd-d.� Zd/d0� Zd1d2� Zd3d4� Zejfd5d6�Zd7d8� Zd9d:� Z d;d<� Z!d=d>� Z"d?d@� Z#dAdB� Z$dCdD� Z%dEdF� Z&dGdH� Z'dS )M� SPMClientz
Provide an SPM Client
Nc C sp || _ |stj�tj�tjd��}|| _ | j �
dd�| _| j �
dd�| _| �
� | �� d | _d | _| �� d S )NZspmZspm_db_providerZsqlite3Zspm_files_provider�local)�ui�saltZconfigZ
spm_config�os�path�join�syspathsZ
CONFIG_DIR�opts�get�db_prov�
files_prov�_prep_pkgdb�_prep_pkgfiles�db_conn�
files_conn�_init)�selfr r r r r �__init__Q s zSPMClient.__init__c C � t j�| j�| _d S �N)r �loader�pkgdbr �r) r r r r$ ^ � zSPMClient._prep_pkgdbc C r+ r, )r r- �pkgfilesr r/ r r r r% a r0 zSPMClient._prep_pkgfilesc C s, | j s | �d�| _ | js| �d�| _d S d S )N�init)r&