PATH:
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
lve_utils
/
hooks
/
__pycache__
� �c|X��r� �v � d dl Z d dlZd dlmZ d dlmZ d dlmZ e j e � � Z G d� de� � ZdS )� N)�ModifyDomainHook)�lve_supported_or_exit)�registry_path_by_usernamec �2 � e Zd ZdZdZe dd�� � ZdS )�DomainLimitsHookz� After a domain rename or document-root change, update the LVD on-disk state (domains.json + binary id-registry) so that per-domain limits keep working for the affected domain. z/usr/sbin/lvectlNc �N � t |� � sd S |p|}| j dd|d|g} |r| d|gz } |r| d|gz } t j | dd�� � } | j d k rNt � d | j | j � d�� � � � � � � d S d S ) Nzregenerate-domainsz --usernamez--domainz--old-domainz --old-docrootTF)�capture_output�checkr z%regenerate-domains failed (rc=%d): %s�replace)�errors) r �LVECTL� subprocess�run� returncode�log�warning�stderr�decode�strip)�self�username�domain� new_domain�include_subdomains�old_docroot�new_docroot�kwargs�current_domain�cmd�results �(py/lve_utils/hooks/domain_limits_hook.py�post_modify_domainz#DomainLimitsHook.post_modify_domain s� � � )��2�2� ��F�#�-�v�� �K�-��(��� �� � ,��N�F�+�+�C�� 2��O�[�1�1�C����D��F�F�F�����!�!��K�K�7��!�� �$�$�I�$�6�6�<�<�>�>� � � � � � "�!� )NNNN)�__name__� __module__�__qualname__�__doc__r r r"