PATH:
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
lve_utils
/
__pycache__
� �L��b� � � d Z ddlZddlZddlZddlmZ ddlmZ ddlZ n # e $ r dZ Y nw xY w e� � ZdZ G d� de � � Z G d� d � � ZdS ) u� pylve C-binding wrapper and related types. This module wraps the pylve C extension (PyLve, PyLveError) and lives outside lveapi deliberately: websiteisolation.* is imported by lveapi at the top level, so any websiteisolation sub-module that needs PyLve or PyLveError must not import from lveapi — that would form a cycle. Placing these types here breaks the cycle; lveapi re-exports them for backward compatibility. � N)�ProcLve)�uid_maxi���c � � e Zd ZdS )� PyLveErrorN)�__name__� __module__�__qualname__� � �py/lve_utils/pylve_wrapper.pyr r # s � � � � � ��Dr r c � � e Zd ZdZed� � � Zd� Zd� Zd� Ze dddfd �Z d � Zd� Zd� Z d � Zeefd�Zej d� � � ZdS )�PyLvezA Wrapper for generate traceback with pretty descriptions c �Z � t | t � � o| t j k o| dk S )Nr )� isinstance�int�errno�ENOSYS)�codes r �_code_is_errorzPyLve._code_is_error+ s) � ��$��$�$�L��%�,��)>�L�4�1�9�Lr c �� �� t �| j j � � r5d� �fd�t �� � D � � � � }d|� d�}nt �� � }|S )N�, c �d �� g | ],}|� d � � �|� dt �|� � � ���-S )�_�=)� startswith�getattr)�.0�attr�arg_vars �r � <listcomp>z%PyLve._arg_to_str.<locals>.<listcomp>2 sF �� �i�i�i��TX�Tc�Tc�dg�Th�Th�i�D�3�3�7�7�D�1�1�3�3�i�i�ir z<liblve_settings object �>)r �_pylve�liblve_settings�join�dir�str)�selfr �liblve_settings_attr�arg_var_strs ` r �_arg_to_strzPyLve._arg_to_str/ sr �� ��g�t�{�:�;�;� '�#'�9�9�i�i�i�i��G���i�i�i�$� $� � M�5I�L�L�L�K�K��g�,�,�K��r c �� � � |� d� j � � }|� d� j � � } ||i |��}� � |� � }|r=� j r6t j � j � � ||i |��}� � |� � }||j |j d� t t � j |� � � � � fd�|� � � D � � z � � d�}� j dk rt! � j j di |��� � � j dk r� j � � � |s|r |j di |��} t+ | � � �|S ) N�err_msg�ignore_errorr c �J �� g | ]\ }}|� d �� |� � � ��� S )r )r* )r �k�vr'