File: //opt/cloudlinux/venv/lib64/python3.11/site-packages/clsummary/__pycache__/summary.cpython-311.pyc
�
�6X)"G�� � � d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlZd dl
Z
d dlZd dlmZ d dlmZmZ d dlmZmZ d dlmZ d dlmZ d dlmZ d dlmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ d dl%Z&d dl'Z'd dl(Z(d dl)Z)d d l*m+Z+ d d
l,m-Z- d dl.m/Z/m0Z0m1Z1 d dl2m3Z3 d d
l4m5Z5m6Z6 d dl7m8Z8 d dl9m:Z:m;Z;m<Z< d dl=m>Z> d dl?m@Z@ d dlAmBZB d dlCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZN d dlOmPZPmQZQmRZR d dlSmTZT d dlUmVZVmWZW d dlXmYZYmZZZ d dl[m\Z\ d dl]m^Z^ d dl_m`Za d dlbmcZc d dldmeZemfZf d dlgmhZh d dlimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZz d dl{m|Z|m}Z}m~Z~ d d lm�Z� d!d"l�m�Z� d!d#l�m�Z� d d$l�m�Z� d d%l�m�Z�m�Z�m�Z�m�Z�m�Z�m�Z� d d&l�m�Z� d d'l�m�Z� d dl�m`Z� n# e�$ r ekZ�ekZ�ekZ�ekZ�ekZ�ekZ�ekZ�dZ�dZ�dZ�Y nw xY w d d(l�m�Z� n# e�$ r d)� Z�Y nw xY wd*Z� ej� d+� � Z�d,Z�d-Z�d.Z�d/Z�d0Z�d1Z�d2Z�d3Z�d4e�d5e�fd6�Z� G d7� d8� � Z�d9� Z�dS ):� N)�deepcopy)�Counter�defaultdict)� lru_cache�partial)� cpu_count)�Path)�getfqdn)�Any�AnyStr�Callable�Dict�List�Optional�Tuple�Union)�get_hidepid_typing_from_mounts)�cpapi)�
find_wp_paths�get_wp_cache_plugin� get_wp_paths_with_enabled_module)�Feature)�is_panel_feature_supported�is_wp2_environment)�
MySQLGovernor)�
CLEditions�is_cl_shared_edition�is_cl_solo_edition)�client_activation_data)�ACCELERATE_WP_INSTALLED_FROM_CM)�
SysCtlConf)�ExternalProgramFailed�get_cl_version�get_rhn_systemid_value�
get_virt_type�grep�is_litespeed_running�is_nginx_running�is_secureboot_enabled�is_testing_enabled_repo� is_ubuntu�run_command)�cagefs_statistics_config�clconfig_utils�db_governor_lib)�is_email_notification_enabled)�print_dictionary�replace_params)�DEFAULTS�LimitsDataStorage)�EMPTY_LIMITS)�ALL_MODULES)�PKG_VERSION)�LvpMap)�CONFIG_PATH�_read_config_file)�WebsiteCollector)�
SummaryStatus�dummy_none_function�get_cl_plus_sender_status�get_client_data_from_jwt_token� get_packages_with_lve_extensions�$get_statistics_send_status_from_file�is_active_cloudlinux_license�is_nodejs_selector_installed�is_php_selector_installed�is_python_selector_installed�is_ruby_selector_installed�is_sending_process_running�is_statistic_enabled�is_statistic_rpm_enabled� set_statistic_collection_enabled�$set_statistic_rpm_collection_enabled�$write_statistics_send_status_to_file)�NotSupported�get_cpu_metrics�get_memory_metrics)�get_rpm_packages_info� )�parse_cloudlinux_summary_opts)�StatisticsDict)�get_default_version)�get_default_php_version�get_mode_of_php_selector�get_native_version_safe�get_php_selector_usage�get_versions_statistics�iter_server_applications)�CloudlinuxSelectorLib)�PKG_RELEASE��list_flags_infoc � � g S �N� ra � �py/clsummary/summary.pyr^ r^ � s � �� rb z/var/log/cloudlinux-summary.logzcloudlinux-summary�unknown� installed�
not_installed�not_initialized�not_selected�enabled�disabledz-42� site_dict�returnc �n � t t d� | d � � � � � � � S )zB
Checks if wordpress site has at least one enabled module
c � � | d S )Nri ra )�modules rc �<lambda>z*site_has_enabled_modules.<locals>.<lambda>� s � �&��"3� rb �modules)�any�map�values)rk s rc �site_has_enabled_modulesru � s1 � � �s�3�3�Y�y�5I�5P�5P�5R�5R�S�S�T�T�Trb c � � e Zd ZdZdZ ej g d� ej e j
� � ej e j � � ej e j � � g� � Z
dZdZdZdZd� Zed � � � Zed
� � � Zedefd�� � Zed
� � � Zed� � � Zed� � � Zdefd�Zed� � � Zd� Zd� Z ede!fd�� � Z"ed� � � Z#ededefd�� � Z$d� Z%d� Z&d� Z'd� Z(ed� � � Z)d�d�Z*ed�d�� � Z+d � Z,ed!� � � Z-ed"� � � Z.ed#e/e0e0f de!fd$�� � Z1d%� Z2d&� Z3ed'e4d(e5ddfd)�� � Z6d*e/e5e4f d+e5d,e!ddfd-�Z7d.� Z8ed/� � � Z9d0� Z:d1� Z;d2� Z<edefd3�� � Z=d�d4�Z>d�d5�Z?ed6� � � Z@ed7� � � ZAd8� ZBed9� � � ZCd�d:�ZDdeEe4 fd;�ZFdeEe4 fd<�ZGedeEe4 fd=�� � ZHd�d>�ZId?eJddfd@�ZKd?eJddfdA�ZLd?eJddfdB�ZMd�dC�ZNd�dD�ZOdE� ZPdF� ZQdG� ZRdH� ZSedIedJeTfdK�� � ZUdeVeTeW eTeW e/ee4f f fdL�ZXdeVeYe eYe f fdM�ZZdNedOedPe/eef de/ee[eTef f fdQ�Z\dRedefdS�Z]e e^d�T� � dU� � � � � Z_d�dV�Z`d�dW�ZaedXe4dYe4deEe4 fdZ�� � ZbedXe4d[e4deEe4 fd\�� � Zced]edde4fd^�� � Zeed]edde4fd_�� � Zfed]edde4fd`�� � Zged]eddehfda�� � Zid]edde4fdb�Zjed]edde4fdc�� � Zked]edde4fdd�� � Zld]eddefde�Zmedfedgedede fdh�� � Znedededfdi�� � Zod�dj�Zpedefdk�� � Zqd�dl�Zredm� � � Zsdn� Ztedo� � � Zuedp� � � Zvedq� � � Zwede!fdr�� � Zxede!fds�� � Zyede4fdt�� � Zzedefdu�� � Z{edv� � � Z|dw� Z}dx� Z~dye5deEe4 fdz�Zd{� Z�d|� Z�d}� Z�d~� Z�ede/fd�� � Z�d�� Z�d�� Z�deVe4e4e4f fd��Z�edeVe4ef fd��� � Z�d�� Z�d�� Z�d�d��Z�d�d��Z�d�d��Z�d�� Z�d�� Z�d�� Z�d�� Z�d�� Z�ed�� � � Z�d�� Z�deEe4 fd��Z�deEe4 fd��Z�e�d�� � � Z�ed�� � � Z�ed�� � � Z�d?eJdede�e4ef d�f fd��Z�d�e4d?eJdeEeVe4ef fd��Z�d�� Z�e d�d�ed�e�dz d�e4d�e!dz de�j� f
d��� � Z�ed�d�ed�e4deEd fd��� � Z�edeEe/ fd��� � Z�ed�� � � Z�ed�� � � Z�ed�� � � Z�ed�� � � Z�edeEe/ fd��� � Z�edefd��� � Z�ed�ede4fd��� � Z�edeEe/ fd��� � Z�de/fd��Z�deEe/ fd��Z�edeEe/ fd��� � Z�edeEe/ fd��� � Z�dS )��CloudlinuxSummaryz/var/lve/dashboard_certificatez/etc/cl_plus/.disabled)�python�ruby�nodejsz-https://stat-api.cloudlinux.com/api/clos-statz/https://stat-api.cloudlinux.com/api/clos-uploadz-https://stat-api.cloudlinux.com/api/rpm-statsz6https://repo.cloudlinux.com/static/cl-settings-v1.jsonc �� � i | _ d | _ t � � | _ d | _ d | _ | � � � | _ d | _ t � � | _
d | _ d S r` )�_opts�_security_tokenrS �
statistics�_lvpmap�
_system_id�_is_process_not_limited�is_process_not_limited�packages_by_lenr! �sysctl�remote_settings��selfs rc �__init__zCloudlinuxSummary.__init__� sa � ���
�#���*8�*:�*:���������&*�&B�&B�&D�&D��#�#��� �l�l���#����rb c � � t t j � d� � � � } t t j � d� � � � }| o| S )zm
Return true if process is running outside LVE or it's not running by
utility `nice`
�RUNNING_BY_NICE�RUNNING_IN_LVE)�bool�os�environ�get)�is_running_by_nice�is_running_in_lves rc r� z)CloudlinuxSummary._is_process_not_limited� sP � � "�"�*�.�.�1B�"C�"C�D�D�� �����0@�!A�!A�B�B��%�%�?�.?�*?�?rb c �D � | j �t � � | _ | j S )z.
Load lvpmap only when needed
)r �_get_lvpmapr� s rc �lvpmapzCloudlinuxSummary.lvpmap� s � �
�<��&�=�=�D�L��|�rb rl c �F � | j �t d� � | _ | j S )N� system_id)r� r$ r� s rc r� zCloudlinuxSummary.system_id� s# � � �?�"�4�[�A�A�D�O���rb c �&