File: //opt/cloudlinux/venv/lib64/python3.11/site-packages/xray/manager/__pycache__/base.cpython-311.pyc
�
�Pcj� � � � d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
m
Z
mZ ddlm
ZmZ ddl mZmZmZ ddlZddlmZ ddlmZmZ ddlmZmZ dd lmZ dd
lmZ ddlm Z ddl!m"Z# d
dl$m%Z% d
dl&m'Z' d
dl(m)Z) d
dl*m+Z+m,Z,m-Z-m.Z.m/Z/ d
dl0m1Z1 d
dl2m3Z3 d
dl4m5Z5 d
dl6m7Z7m8Z8m9Z9 d
dl:m;Z; d
dl<m=Z= d
dl>m?Z?m@Z@mAZA d
dlBmCZCmDZDmEZEmFZFmGZGmHZH d
dlImJZJmKZKmLZLmMZMmNZN e jO rd
dlPmQZQ ejR d� � ZS G d� d� � ZTdS )zX
This module contains classes implementing X-Ray Manager behaviour
and helper functions
� N)�datetime� timedelta)�escape�glob)�Iterator�Optional�Tuple)�Feature)�is_panel_feature_supported�get_installed_php_versions)�php_get_vhost_versions�is_wpos_supported)�is_litespeed_running)�drop_privileges)�
disable_quota)�gettext� )�ClWposGetter)�
get_client)�ContinuousManager)�XRayAPIError� XRayError�XRayMissingDomain�XRayManagerExit�XRayManagerExitPHPUnsupported)�FPMReloadController)�open_local_storage)�NginxUserCache)�
DomainInfo�Task� url_split)�ManageUserAgent)�AdvancedMetrics)�get_xray_exec_user�user_mode_restricted�nginx_user_cache)�no_active_tasks�switch_schedstats�ssa_disabled�_cagefsctl_remount�set_privileges�is_file_recently_modified)�create_ini_files�remove_ini_files�is_global_ini_mode�remove_global_ini_mode_marker�create_global_ini_mode_marker)� APIClientz%^[A-Za-z0-9_][A-Za-z0-9@:._-]{0,127}$c �
� e Zd ZdZdZddddddd d
ddd
dddd�Zdfdedefd�Zde e
fd�Zdefd�Z
dedefd�Zdedefd�Zdedefd�Zdedefd�Zdedefd�Zdedd fd!�Zd"� Z ej d#� � Zd$Zd%ej defd&�Zd'edefd(�Zed)ede ej fd*�� � Z!d+edd fd,�Z"d-edefd.�Z#d/edefd0�Z$dedefd1�Z%d2edefd3�Z&d2edd fd4�Z'ed'ede(ee
f fd5�� � Z)d6edd fd7�Z*edefd8�� � Z+defd9�Z,e-ddd:�d-ed;ed<ed=e
d>ed?edefd@�� � Z.d-edefdA�Z/dBdC�d-ed=e
defdD�Z0dEedefdF�Z1dG� Z2e-dEedefdH�� � Z3dEedefdI�Z4edJedefdK�� � Z5defdL�Z6edMe7dNdOfdP�� � Z8dEedefdQ�Z9d-edRedefdS�Z:d-edefdT�Z;d-edefdU�Z<d-edefdV�Z=defdW�Z>defdX�Z?dgdYedZe
d[e
defd\�Z@dYedefd]�ZAdYed^e
defd_�ZBdefd`�ZCdefda�ZDdefdb�ZEdefdc�ZFdefdd�ZGdefde�ZHd S )h�BaseManagerz�
Basic manager abstract class.
Implements methods common for all managers.
Requires managers to implement their custom methods.
z/var/run/xray-agent.pidz/opt/alt/php54/link/confz/opt/alt/php55/link/confz/opt/alt/php56/link/confz/opt/alt/php70/link/confz/opt/alt/php71/link/confz/opt/alt/php72/link/confz/opt/alt/php73/link/confz/opt/alt/php74/link/confz/opt/alt/php80/link/confz/opt/alt/php81/link/confz/opt/alt/php82/link/confz/opt/alt/php83/link/confz/opt/alt/php84/link/confz/opt/alt/php85/link/conf)z alt-php54z alt-php55z alt-php56z alt-php70z alt-php71z alt-php72z alt-php73z alt-php74z alt-php80z alt-php81z alt-php82z alt-php83z alt-php84z alt-php85F� system_id�phpinfo_modec � � t � � | _ || _ t j d� � | _ t
� � | _ t � � | _ || _
t d� � | j �� � | _ d S )N�manager�lists�r5 )r �api_client_class�sys_id�logging� getLogger�loggerr �continuous_monitoringr"