| Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/clwpos/__pycache__/utils.cpython-311.pyc |
�
�m_e�� � �l � d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlZd dl
Z
d dlZd dlZd dlZd dlZd dlmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZmZmZ d dlZd dlm Z d d l!m"Z"m#Z# d d
l$m%Z% d dl&m&Z&m'Z'm(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z. d dl/Z/d d
l0m1Z1m2Z2 d dl3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9m:Z:m;Z;m<Z< d dl=m>Z>m?Z? d dl@mAZAmBZB d dlCmDZDmEZE d dlFmGZG d dlHmIZImJZJmKZKmLZL d dlMmNZNmOZOmPZP d dlQmZmRZR d dlSmTZTmUZUmVZVmWZWmXZXmYZY d dlZm[Z[ d dl\m]Z]m^Z^ d dl_m`Z` d dlHmaZa ddlbmcZc d dldmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZt dd lumvZvmwZw dd!lxmyZy d d"lzm{Z{ da|d#� Z} G d$� d%e
j~ � � Zd�d'e�d(e�fd)�Z�d�d'e�d*e�d+e�fd,�Z�d�d'e�d.e�fd/�Z�d0e�fd1�Z�d2e�fd3�Z�d�d0e�fd4�Z�d5� Z�d6� Z�d�d7e�d0e�fd8�Z�d0e�fd9�Z�dd:�d7e�d0e�fd;�Z�dd:�d7e�fd<�Z� G d=� d>� � Z�d?e�d0e,e� fd@�Z�d0e*e� fdA�Z�dBe�d0dfdC�Z�dDe�d0dfdE�Z�dDe�d0dfdF�Z�dG� Z�dHe�d0e+e�e�f fdI�Z�dJe�dKe,e� fdL�Z� G dM� dNe�� � Z�e d�dPe�dKe,e� fdQ�� � Z�dR� Z�dS� Z� e#d�T� � dU� � � Z�d0e*e� fdV�Z�dWe�d0e+e�e�f fdX�Z�d�d0e�fdZ�Z�d[� Z�d\� Z�e G d]� d^� � � � Z�d0e�fd_�Z�d`� Z�da� Z�d0e�fdb�Z�e d0e.e� fdc�� � Z�dd� Z�de� Z� G df� dg� � Z�d�dh�Z� G di� dj� � Z�e dke�fdl�� � Z�dke�d0e�fdm�Z�d0e�fdn�Z�d0e�fdo�Z�d0e�fdp�Z�d0e�fdq�Z�dre�dse�d0dfdt�Z�dDe�dre�dse�d0dfdu�Z�d0e�fdv�Z�d0e�fdw�Z�d0e+e�e�e�f fdx�Z�dye�dze�d{e�d0e+e�e�e�f fd|�Z�d{e�d0e+e�e�e�f fd}�Z�d~� Z�d0e�fd�Z�e{d0e�fd��� � Z�d�e�d0e*fd��Z�d�� Z�d�e�d�e�d�e�fd��Z�d�� Z�dS )�� )�absolute_importN)� dataclass�asdict)�iglob)�Enum)�gettext)� urlencode�urlparse� parse_qsl�
urlunparse)�contextmanager)�wraps� lru_cache)�Path)�socket�AF_UNIX�SOCK_STREAM)�List�Tuple�Optional�Set�ContextManager)�write_file_via_tempfile�
disable_quota)�NoDomain)�ClPwd�drop_privileges)�is_cl_solo_edition�is_cl_shared_pro_edition�is_cl_admin_edition�CLEditionDetectionError)�read_jwt�
decode_jwt)�CLN_JWT_TOKEN_PATH�DEFAULT_JWT_ES_TOKEN_PATH)�
PyJWTError�
exceptions)�
check_license)�docroot� getCPName�get_customer_login�
get_server_ip)�exec_utility�run_command�demote)r � wp_config)� WposError�WPOSLicenseMissing�WpCliUnsupportedException�WpNotExists�WpConfigWriteFailed�PhpBrokenException)�UIConfig)� in_cagefs�_is_cagefs_enabled)�Feature)�is_panel_feature_supported� )�
setup_logging)�
USER_WPOS_DIR�WPOS_DAEMON_SOCKET_FILE�CLCONFIG_UTILITY�RedisRequiredConstants�CAGEFS_ENTER_USER_BIN�CAGEFS_ENTER_UTIL�CLWPOS_OPT_DIR�ALT_PHP_PREFIX�
EA_PHP_PREFIX�PLESK_PHP_PREFIX�USER_CLWPOS_CONFIG�PUBLIC_OPTIONS�SUPPORTED_PANELS�SUITES_MARKERS�XRAY_MANAGER_UTILITY�XRAY_USER_SOCKET)�pack_data_for_socket�'read_unpack_response_from_socket_client)�RollbackException)�cached_in_scopec � � � � fd�}|S )z'
Decorator for catching errors
c � �� t �t t � � a �| g|�R i |��S # t $ r3}t | j |j |j |j d�� � Y d }~d S d }~wt $ r�}t |t � � rt � |� � nt �
|� � |j |j |j d�}|j r
|j |d<