File: //usr/share/lve/modlscapi/user/__pycache__/selector_usage_lib.cpython-39.pyc
a
�Ui3 � @ s� d dl Z d dlmZ d dlZd dlmZmZmZ G dd� de�Z dd� Z
dd � Zd
d� Zdd
� Z
dd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zd d!� Zd"d#� Zd$d%� ZdS )&� N)�deepcopy)�pretty_version_keys�
cpanel_whmapi�dump_loaded_modulesc @ s e Zd ZdZdS )�SelectorStatExceptionz
Inner exception class
N)�__name__�
__module__�__qualname__�__doc__� r r �3/usr/share/lve/modlscapi/user/selector_usage_lib.pyr s r c C s d� t�d���� } | dkS )z�
Check status of cagefs - installed & enabled
If not - selector is not applied, no need to query its settings
:return: True is cagefs is installed and enabled, False otherwise
� z#/usr/sbin/cagefsctl --cagefs-statusZEnabled)�join�exec_command�strip)Z
cagefs_statusr r r �cagefs_enabled s r c c s` d� t�d��} zt�| ��d�}W n ty: d}Y n0 |D ]}|d }|dkr@|V q@dS )z`
Retrieve versions from selector, EXCEPT native
:return: selector versions iterator
r
z%/usr/bin/selectorctl --summary --jsonZPHPConfigurationr �version�nativeN)r r �json�loads�get�
ValueError)Z
selector_data�selector_versions�item�verr r r �get_selector_versions'