HEX
Server: LiteSpeed
System: Linux cluster02.load-balancer.x2.network 4.18.0-553.51.1.lve.1.el8.x86_64 #1 SMP Wed May 14 14:34:57 UTC 2025 x86_64
User: kbdhpghp (1098)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //opt/cloudlinux/venv/lib/python3.11/site-packages/clwpos/__pycache__/wpos_hooks.cpython-311.pyc
�

׊�hk��
�ddlZddlZddlmZddlmZddlmZmZddl	m
Z
ddlmZm
Z
ddlmZdZd	Zd
ZdZdZd
ZefZefZdefd�Zdd�Zdd�Zdd�Zd�Zdd�Zdd�Zdd�Zdd�Z d�Z!d�Z"d�Z#e$dkre#��dSdS)�N)�get_python_lib)�Path)�ALT_PHP_REDIS_ENABLE_UTILITY�INSTALL_CACHING_HOOKS_UTILITY)�OBJECT_CACHE_FEATURE)�any_suite_allowed_on_server�is_module_allowed_for_user)�is_wpos_supportedz//etc/dnf/universal-hooks/multi_pkgs/transactionz-/etc/yum/universal-hooks/multi_pkgs/posttransz//etc/apt/universal-hooks/multi_pkgs/Post-Invokez%/usr/share/cloudlinux/hooks/listenerszwpos_modify_user_hook.pyzwpos_user_dirs_hook.py�returnc��d}td�����rtt|��Std�����rtt|��Stt|��S)zU
    Get path to yum universal hooks directory
    with alt-php*-pecl-ext hooks.
    zalt-php__WILDCARD__-pecl-extz	/etc/apt/z	/etc/dnf/)r�exists�UNIVERSAL_HOOK_PATH_APT�UNIVERSAL_HOOK_PATH_DNF�UNIVERSAL_HOOK_PATH_YUM)�dir_names �H/opt/cloudlinux/venv/lib64/python3.11/site-packages/clwpos/wpos_hooks.py�get_universal_hook_alt_php_pathr%st��
.�H��K�����!�!�7��+�X�6�6�6�	
�k�	�	�	!�	!�	#�	#�7��+�X�6�6�6��'��2�2�2�c��t��}|�dd���tt��j}t||��}|���s|�t��dSdS)zx
    Install yum universal hook for configuring PHP redis
    after alt-php*-pecl-ext package is installed/updated.
    T)�parents�exist_okN)r�mkdirrr�namer
�
symlink_to��
hook_dir_path�	hook_name�hook_full_paths   r�"install_yum_universal_hook_alt_phpr2s���
4�5�5�M�����t��4�4�4��1�2�2�7�I��-��3�3�N�� � �"�"�@��!�!�">�?�?�?�?�?�@�@rc���t��}tt��j}t||��}|���r|���dSdS)zB
    Remove yum universal hook for configuring PHP redis ext.
    N)rrrr�
is_symlink�unlinkrs   r�$uninstall_yum_universal_hook_alt_phpr#?se��4�5�5�M��1�2�2�7�I��-��3�3�N�� � �"�"� ��������� � rc��tt��dd��}tt|��}t||��}dt|�����vs#dt|�����vr|���|���s+|���r|�|��dSdSdS)z
    Install single hook
    �clwpos�hooks�	lve_utilsz	python3.7N)rr�HOOKS_LISTENERS_DIR�str�resolver"r
r)�hook�lve_utils_hooks_dir�listeners_hook_path�lve_utils_hook_paths    r�install_single_hookr/Ks����~�/�/��7�C�C���2�D�9�9���2�D�9�9���c�-�5�5�7�7�8�8�8�8��3�2�:�:�<�<�=�=�=�=��"�"�$�$�$��%�%�'�'�<�,?�,F�,F�,H�,H�<��&�&�':�;�;�;�;�;�<�<�<�<rc��tt|��}|���r|���dSdS)z
    Uninstall single hook
    N)rr(r!r")r+r-s  r�uninstall_single_hookr1ZsK���2�D�9�9���%�%�'�'�%��"�"�$�$�$�$�$�%�%rc�8�tD]}t|���dS)z-
    Install wpos_user_dirs_hook.py hook
    N)�DEFAULT_WPOS_HOOKSr/�r+s r�install_default_panel_hooksr5cs.��#�"�"���D�!�!�!�!�"�"rc�8�tD]}t|���dS)z/
    Uninstall wpos_user_dirs_hook.py hook
    N)r3r1r4s r�uninstall_default_panel_hooksr7ks.��#�$�$���d�#�#�#�#�$�$rc�r�tjtdgd���tD]}t	|���dS)z#
    Install panel WPOS hooks.
    z-iT��capture_outputN)�
subprocess�runr�DYNAMIC_WPOS_HOOKSr/r4s r�install_dynamic_panel_hooksr>ssI���N�1�4�8��N�N�N�N�"�"�"���D�!�!�!�!�"�"rc�r�tjtdgd���tD]}t	|���dS)z"
    Remove panel WPOS hooks.
    z-dTr9N)r;r<rr=r1r4s r�uninstall_dynamic_panel_hooksr@|sI���N�1�4�8��N�N�N�N�"�$�$���d�#�#�#�#�$�$rc���t��t��r@t��r4tt��rt��t
��dSdSdS)z
    Install all hooks
    N)r5r
rr	rrr>�rr�_install_hooksrC�so�� �!�!�!����&�:�<�<�&�%�&:�;�;�	1�.�0�0�0�#�%�%�%�%�%�&�&�&�&rc�Z�t��t��t��dS)z
    Uninstall all hooks
    N)r#r@r7rBrr�_uninstall_hooksrE�s.��)�*�*�*�!�#�#�#�!�#�#�#�#�#rc�~�dtjvrt��dSdtjvrt��dSdS)zA
    Install or uninstall panel and yum/dnf universal hooks.
    z	--installz--uninstallN)�sys�argvrCrErBrr�mainrI�sJ���c�h���������	�#�(�	"�	"�������
#�	"r�__main__)rN)%r;rG�distutils.sysconfigr�pathlibr�clwpos.constantsrr�clwpos.optimization_featuresr�clwpos.feature_suitesrr	�clwpos.utilsr
rrrr(�MODIFY_USER_HOOK�USER_DIRS_HOOKr=r3rrr#r/r1r5r7r>r@rCrErI�__name__rBrr�<module>rTs�������
�
�
�
�.�.�.�.�.�.���������������>�=�=�=�=�=���������+�*�*�*�*�*�K��I��K��=��-��)��&�(��$�&��
3��
3�
3�
3�
3�
@�
@�
@�
@�	 �	 �	 �	 �<�<�<�<�%�%�%�"�"�"�"�$�$�$�$�"�"�"�"�$�$�$�$�	&�	&�	&�$�$�$�����z����D�F�F�F�F�F��r