File: //opt/alt/python37/lib/python3.7/site-packages/xray/manager/__pycache__/directadmin.cpython-37.pyc
B
�*Ud- � @ s� d Z ddlZddlZddlZddlZddlmZ ddlmZ ddl Z ddl
mZ ddlm
Z
dd lmZ dd
lmZmZ G dd� de�ZdS )
zS
This module contains classes implementing X-Ray Manager behaviour
for DirectAdmin
� N)�ChainMap)�glob� )�BaseManager� )�XRayManagerError)�
DomainInfo)�user_mode_verification�with_fpm_reload_restrictedc s e Zd ZdZdZdZdZdZdZddd d
ddd
dddd�
Z e
d�dd�Zee
d�dd�Zeed�dd��Zeed�dd��Zeed�dd��Zeed�dd��Zeed�d d!��Zeed�d"d#��Zeeeed$�d%d&���Zeed'�d(d)�Zeed*�d+d,�Zed-d'�� fd.d/�Z� ZS )0�DirectAdminManagerzG
Class implementing an X-Ray manager behaviour for DirectAdmin
z//usr/local/directadmin/custombuild/options.confz2/usr/local/directadmin/data/users/*/domains/*.confz8/usr/local/directadmin/data/users/*/domains/*.subdomainsz6/usr/local/directadmin/data/users/*/domains/*.pointerszI/usr/local/directadmin/data/users/*/domains/*.subdomains.docroot.overridez/usr/local/php54/lib/php.conf.dz/usr/local/php55/lib/php.conf.dz/usr/local/php56/lib/php.conf.dz/usr/local/php70/lib/php.conf.dz/usr/local/php71/lib/php.conf.dz/usr/local/php72/lib/php.conf.dz/usr/local/php73/lib/php.conf.dz/usr/local/php74/lib/php.conf.dz/usr/local/php80/lib/php.conf.dz/usr/local/php81/lib/php.conf.d)
Zphp54Zphp55Zphp56Zphp70Zphp71Zphp72Zphp73Zphp74Zphp80Zphp81)�returnc C s t | j| j�S )z�
Get supported PHP versions
:return: a chained map with basic supported versions
and DirectAdmin supported versions
)r �VERSIONS�VERSIONS_DA)�self� r �I/opt/alt/python37/lib/python3.7/site-packages/xray/manager/directadmin.py�supported_versions7 s z%DirectAdminManager.supported_versions)�filenamer c
s� � fdd�}y,t � |� d��}dd� |�� D �S Q R X W nL tk
r� } z.| jjd� t|�d�d � td
� � ��|�W dd}~X Y nX dS )z~
Read lines from file
:param filename: a name of file to read
:return: list of stripped lines
c s, t � d��} t�| �� �}W dQ R X |d S )z0
Retrieve file encoding
�rbN�encoding)�open�chardet�detect�read)�f�result)r r r �get_file_encodingG s z<DirectAdminManager.file_readlines.<locals>.get_file_encoding)r c S s g | ]}|� � �qS r )�strip)�.0�liner r r �
<listcomp>Q s z5DirectAdminManager.file_readlines.<locals>.<listcomp>NzFailed to read [DA conf] file)�fname�err)�extrazFailed to read file )r � readlines�OSError�logger�error�strr )r r r r �er )r r �file_readlines@ s z!DirectAdminManager.file_readlinesc C s� t � }| �| j�}dd� }xxtt||d�||d��dd�D ]V\}}|\}}d|kr:dd �|�d
�d �d��� �d
|k|�d
�d d�|t|�<